避免在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