我正在尝试在我的应用程序中创建sequelize的示例。当我使用docker compose来构建和运行应用程序时,它会要求我手动下载mysql2,即使我尝试使用--save和--g来下载它,它也不会工作。为什么会发生此错误?如何修复它?
const sequelize = new Sequelize('test', 'root', 'root', {
host: database,
port: 3307,
dialect: 'mysql'
});
使用以下docker-compose.yml文件:
version: '3'
services:
mongo:
image: mongo:3.6
web:
build: .
ports:
- "3000:3000"
environment:
- MONGODB_URI=mongodb://mongo:27017/test
links:
- mongo
depends_on:
- mongo
volumes:
- .:/starter
- /starter/node_modules
database:
image: mysql
environment:
MYSQL_DATABASE: "ticketgo"
MYSQL_ROOT_PASSWORD: "pass"
volumes:
- "./sql:/docker-entrypoint-initdb.d"
ports:
- "3307:3307"
adminer:
image: "adminer"
ports:
- "8080:8080"
links:
- "database"
我得到这个错误:
Error: Please install mysql2 package manually
2条答案
按热度按时间zpf6vheq1#
对于那些有这个问题的人,我通过
npm intall -g mysql2
. 如果在全局范围内安装sequelize cli,则可能会发生这种情况,因为它可能有缺陷。7xllpg7q2#
我解决了这个问题我安装了mysql包
npm安装-g mysql2