避免在npm / package.json中出现不稳定的mongoose版本

时间:2014-06-03 20:00:55

标签: npm

如何避免使用npm安装不稳定的mongoose版本?

运行npm update后,我在节点应用中收到以下警告:

#   !!! MONGOOSE WARNING !!!
#
#   This is an UNSTABLE release of Mongoose.
#   Unstable releases are available for preview/testing only.
#   DO NOT run this in production.

在我的package.json文件中,我有以下条目:

"mongoose": "^3.8.8"

3 个答案:

答案 0 :(得分:15)

Mongoose没有遵循标准的npm练习,所以他们的不稳定版本被npm识别为稳定。基本上他们发布了3.9作为不稳定版本,这就是导致警告的原因。

我的建议是,你不再相信他们遵守这些约定,只需将你的版本锁定在package.json中:

 "mongoose": "3.8"

答案 1 :(得分:10)

查看此答案:How do I update each dependency in package.json to the latest version?

建议如果您指定"*"作为版本,那么您将始终更新到最新的稳定版本。

在你的情况下,我建议先卸载mongoose包,然后重新安装mongoose。

代码:

npm uninstall mongoose
(change "mongoose":"^3.8.8" to "mongoose":"3.8")
npm install

答案 2 :(得分:7)

你可能从未安装过3.8.8(应该是稳定的)但是3.9.x版本。

实际上,使用^,当你在package.json中使用^ 3.8.8时,你也会安装3.9.x.

在你的情况下,你可以修复3.8.8(或3.8.18,这是今天稳定的,如此处的其他答案所述,通过删除^)或使用th~字符,这只会匹配新的最低版本部分的版本。

因此以下内容将匹配(x为最新版本):

*      => x.x
^3.8.8 => 3.x
~3.8.8 => 3.8.x
3.8.8  => 3.8.8

由于3.9被认为是不稳定的,但是^将会达到3.9,这就是问题所在。

此处还可以找到有关版本的详细说明:https://stackoverflow.com/a/22345808/586754

并使用

npm view mongoose versions

查看可用的版本,例如: G。什么是最新的3.8当4出局时。

使用~3.8将始终保持最新的3.8(更新时),但是一旦4.0退出,您将需要手动更新。

另外:您可以直接编辑package.json然后运行

npm update

无需卸载/重新安装。