避免在npm / package.json中发生不稳定的猫鼬释放

我该如何避免使用npm安装不稳定的猫鼬版本?

运行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"

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

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

 "mongoose": "3.8"

看看这个答案:我如何更新package.json中的每个依赖项到最新版本?

建议是,如果你指定"*"作为版本,那么你将永远更新到最新的稳定版本。

在你的情况,我建议先卸载猫鼬软件包,然后重新安装猫鼬。

代码:

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

你可能从来没有安装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

看看哪些版本可用,例如什么是最新的3.8在什么时候4出来。

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

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

npm update

而无需卸载/重新安装。

链接地址: http://www.djcxy.com/p/27649.html

上一篇: avoid unstable releases of mongoose in npm / package.json

下一篇: How to install PhantomJS v2 with npm