如何避免使用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"
bluehallu.. 15
Mongoose没有遵循标准的npm实践,所以他们的不稳定版本被npm识别为稳定.基本上他们发布了3.9作为不稳定版本,这就是导致警告的原因.
我的建议是你不再相信他们遵循这样的约定,只需将你的版本锁定在你的package.json中:
"mongoose": "3.8"
stephen.. 10
看看这个答案:如何将package.json中的每个依赖项更新到最新版本?
建议是,如果您指定"*"
版本,那么您将始终更新到最新的稳定版本.
在你的情况下,我建议先卸载mongoose包,然后重新安装mongoose.
代码:
npm uninstall mongoose (change "mongoose":"^3.8.8" to "mongoose":"3.8") npm install
Andreas Reif.. 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
查看哪些版本可用,例如当4出局时3.8中的最新版本.
使用~3.8将始终保持3.8(更新时)的最新状态,但是一旦4.0退出,您将需要手动更新它.
另外:您可以直接编辑package.json然后运行
npm update
无需卸载/重新安装.
Mongoose没有遵循标准的npm实践,所以他们的不稳定版本被npm识别为稳定.基本上他们发布了3.9作为不稳定版本,这就是导致警告的原因.
我的建议是你不再相信他们遵循这样的约定,只需将你的版本锁定在你的package.json中:
"mongoose": "3.8"
您可能从未首先安装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
查看哪些版本可用,例如当4出局时3.8中的最新版本.
使用~3.8将始终保持3.8(更新时)的最新状态,但是一旦4.0退出,您将需要手动更新它.
另外:您可以直接编辑package.json然后运行
npm update
无需卸载/重新安装.
看看这个答案:如何将package.json中的每个依赖项更新到最新版本?
建议是,如果您指定"*"
版本,那么您将始终更新到最新的稳定版本.
在你的情况下,我建议先卸载mongoose包,然后重新安装mongoose.
代码:
npm uninstall mongoose (change "mongoose":"^3.8.8" to "mongoose":"3.8") npm install