sequelize.js - 你需要手动安装 mysql 包

Posted

技术标签:

【中文标题】sequelize.js - 你需要手动安装 mysql 包【英文标题】:sequelize.js - You need to install mysql package manually 【发布时间】:2013-07-14 02:13:05 【问题描述】:

安装node.js和sequelize.js后,运行基本测试,提示“您需要手动安装mysql包”。

我已尝试在网络和 *** 上搜索此消息的原因。

我已经安装了:

mysql服务器版本5.5.31-0ubuntu0.13.04.1 节点 v0.10.5 sequelize.js v1.6.0

【问题讨论】:

【参考方案1】:

你需要安装mysqlnpm module:

npm install mysql

sequelize 没有 mysql 模块作为其自身依赖项的原因是因为它可以与其他数据库一起使用,例如 postgres 或 sqlite。

【讨论】:

您为什么要准确指定这个 alpha 版本? npm install mysql 还不够,更可用于将来的参考吗? (当前的 npm 模块版本是 alpha9)。 好吧,回答我自己的疑惑:sequelize.js 模块正式与模块mysql@~2.0.0-alpha7sequelize-mysql 一起工作:sequelizejs.com/documentation 虽然接受了,但您的回答并未回答问题。 这个按摩的原因是什么 @borisdiakur 缺少安装mysql模块;这似乎很明显。 @DaveNewton 不太明显的部分是为什么 mysql 模块没有被列为默认的 sequelize 的直接依赖项。同时,go-oleg 相应地编辑了他的答案。 +1【参考方案2】:

全局安装mysql:

npm install -g mysql

【讨论】:

这应该被标记为正确答案,因为本地mysql将为所有人安装。这是一个棘手的问题。 -g 表示全局安装。【参考方案3】:

我已经尝试了几次“npm install mysql”(可能是强迫症),但没有成功。真正有所作为的是上面 Svagis 的回答:

npm install -g mysql

现在我收到拒绝访问错误,这让我松了一口气,因为这意味着进步。

【讨论】:

【参考方案4】:

作为一种好的做法,建议将这些库保留在项目本地,以便 npm 打包安装到其他机器上。

【讨论】:

【参考方案5】:

对于使用 mysql2 的 2017 年以上用户,mysql 要求是 Sequelize v3 的一部分。

安装 Sequelize v4(即npm i sequelize@4.23.0 --save),它将与mysql2 一起正常工作。

有关详细信息,请参阅this issue in the github repo。

【讨论】:

【参考方案6】:
// Using NPM
$ npm install --save sequelize

# And one of the following:
$ npm install --save pg pg-hstore
$ npm install --save mysql2
$ npm install --save sqlite3
$ npm install --save tedious // MSSQL

【讨论】:

如果您要添加有关此解决方案的描述会很好【参考方案7】:

我尝试安装包 mysql 和 mysql2。有效!

npm install mysql2 --save

【讨论】:

【参考方案8】:

你需要安装 mysql npm 模块。

npm install --save mysql2

【讨论】:

【参考方案9】:

按照上述所有步骤,我遇到了同样的问题。 没有任何效果。最后发现我安装的sequelize-cli不是全局的所以找不到mysql2模块。

所以我运行了以下命令。

npm uninstall sequelize-cli
npm install sequelize-cli -g --force // --force removed the previous bin files

最后,它成功了:)

【讨论】:

以上是关于sequelize.js - 你需要手动安装 mysql 包的主要内容,如果未能解决你的问题,请参考以下文章

尝试将行插入表因为带有sequelize.js的UUID外键时出错

在 sequelize.js 中使用 build 方法时是不是需要验证、清理或转义数据

sequelize (js) 关联多个列与一个表

sequelize.js 中的字母数字 ID

获取由 sequelize.js 生成的原始查询 [重复]

使用 Sequelize.js 进入包含模型