【问题标题】:Installing package with "@latest" removes semantic versioning使用“@latest”安装包会删除语义版本控制
【发布时间】:2019-12-14 23:15:57
【问题描述】:

如果我使用 @latest 选项安装包,则在 package.json 中为该包找到的语义版本控制将被删除。

在进行安装之前,我已经删除了 package-lock.json 文件和 node_modules 文件夹,但这种情况仍然存在。

package.json 之前:

"dependencies": {
  "@awesomeproject/my_dep": "^1.0.4”,
}

跑步:

npm install @awesomeproject/my_dep@latest

package.json 之后

"dependencies": {
  "@awesomeproject/my_dep": "1.0.5",
}

预期

"dependencies": {
  "@awesomeproject/my_dep": "^1.0.5",
}

这始终只影响一个特定的包。项目中的其他包不受影响,这让我相信这是来自该包的东西,而不是来自试图更新它的项目。由于我是所有者,因此更改此软件包中的任何内容应该不是问题。

这和这个问题不是同一个问题: Why does `npm install` add / remove caret (^) to / from version numbers? 因为这会影响所有的包。

编辑: 我想将最新版本的包保存到package.json

【问题讨论】:

    标签: node.js npm npm-install semantic-versioning


    【解决方案1】:

    使用--no-save 标志来防止在您的package.json 中发生更新

    你需要运行命令,

    npm install @awesomeproject/my_dep@latest ---no-save
    

    希望这会有所帮助!

    【讨论】:

    • 嗨,David R,这行得通。但是我想将最新版本保存在 package.json 中。我会更新问题以反映这一点。
    猜你喜欢
    • 2018-08-08
    • 2013-02-17
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多