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

 强心脏229 发布于 2023-01-11 19:19

如何避免使用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

无需卸载/重新安装.

3 个回答
  • Mongoose没有遵循标准的npm实践,所以他们的不稳定版本被npm识别为稳定.基本上他们发布了3.9作为不稳定版本,这就是导致警告的原因.

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

     "mongoose": "3.8"
    

    2023-01-11 19:22 回答
  • 您可能从未首先安装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
    

    无需卸载/重新安装.

    2023-01-11 19:23 回答
  • 看看这个答案:如何将package.json中的每个依赖项更新到最新版本?

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

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

    代码:

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

    2023-01-11 19:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有