"dependencies": { "mongoose": "^3.8.12" }
如果你看到node_modules / mongoose / package.json,你可以看到安装的版本确实是3.8.12.然而,如果我现在运行npm更新,那么npm将继续安装一个不稳定版本的mongoose(3.9.0).我认为这是因为依赖条目中的插入符号,它告诉npm继续升级次要版本(即3.8到3.9).没关系,除了我不想要任何预发行版本.如果我修改依赖项并删除插入符号,那么npm更新按预期工作,除了我现在必须手动升级依赖关系版本,即使是次要和修补程序更新.
您可以从运行npm info mongoose看到他们有一个“最新”标签和“不稳定”标签.
所以清楚的是,npm安装使用最新版本,除非另有说明,而npm更新完全忽略了标签,并且抓住了它知道的最新的次要版本.
有没有办法修改依赖关系,所以npm更新将拉入最新的小版本,但忽略任何预发行版本?
UPDATE
如果我尝试使用3.x.x作为依赖关系,则会出现同样的问题.我希望仍然允许我通过未经预发布版本的次要版本进行升级,但情况并非如此:
波音乐(〜3.8.12)技术上有效,但它是一个带状物.它“工作”的唯一原因是因为引入的突破性变化是3.9.0 – 不稳定,波浪号不允许npm在次要版本上升级.如果这些“不稳定”的变化是在3.8.13-不稳定的情况下引入的,那么即使使用波浪号也会发生同样的问题.
更新2
我也尝试手动指定“最新”标签:^ 3.8.12-latest.没有改变任何东西npm更新完全忽略了标签,即使它明确地在依赖项列表中:/
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。