Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免在npm/package.json中发布不稳定的mongoose_Npm - Fatal编程技术网

避免在npm/package.json中发布不稳定的mongoose

避免在npm/package.json中发布不稳定的mongoose,npm,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文件

如何避免使用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"
看看这个答案:

建议是,如果指定
“*”
作为版本,则将始终更新到最新的稳定版本

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

守则:

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

Mongoose没有遵循标准的npm实践,因此他们不稳定的构建被npm认为是稳定的。基本上,他们发布的3.9是一个不稳定的版本,这就是导致警告的原因

我的建议是,您不再相信他们会遵守这些约定,只需将版本锁定在您的包中即可。json:

 "mongoose": "3.8"

您可能从未安装过3.8.8(应该是稳定的),而是安装了3.9.x版本

实际上,在package.json中包含^3.8.8时,使用^3.9.x也将安装3.9.x

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

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

因为3.9被认为是不稳定的,但是^将转到3.9,这就是问题所在

有关版本的详细说明,请参见:

和使用

npm view mongoose versions
要查看可用的版本,请参阅。G当4退出时,3.8中的最新版本是什么

对于~3.8,它将始终保持3.8中的最新版本(更新时),但一旦4.0发布,您将需要手动更新它

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

npm update

无需卸载/重新安装。

3.8.8是一个稳定的版本吗?您可能是对的,3.8.x不稳定,这可能会导致警告。是否有事实上的方法只安装稳定版本,或者这取决于正在安装的npm库。符号*允许您始终安装最新的稳定版本。或者,您可以使用~或^符号来匹配特定版本。请参阅,您的意思是将my package.json设置为“mongoose”:“*”?首先将package.json设置为
“mongoose”:“*”
,然后运行
npm install
。再想一想,
npm update--save
会在软件包已经存在的情况下更新它,而不是在你卸载它的情况下。这就是我所拥有的,我仍然不稳定好,我修改了我的答案,将Mongoose设置为3.8,而不是*
npm update