【问题标题】:NPM package.json convert * asterisk to versionNPM package.json 将 * 星号转换为版本
【发布时间】:2019-10-03 04:01:33
【问题描述】:

我的模板中有一个 package.json,其中包含多个依赖项。 如果我想创建一个新项目,我会使用我的模板。 但是如何将所有*(星号/最新版本)转换为从 npm 下载的固定版本。 npm install --save 不起作用。

在 npm 安装之前(模板 package.json)

"devDependencies": {
  "one": "*",
  "two": "*",
  "three": "*"
}

应转换为npm i --save 关注。

"devDependencies": {
  "one": "1.0.0",
  "two": "2.0.0",
  "three": "3.0.0"
}

如何覆盖版本字符串?

【问题讨论】:

  • 目前唯一找到的方法是通常的:npm i one@*npm i one@latest。使用自定义脚本(JSON 解析等)对每个包执行此操作。恐怕,这是当前版本的唯一解决方案 - 很高兴得到纠正。

标签: npm package.json


【解决方案1】:

根据documentation

(*) --> 匹配任何版本

("") --> (只是一个空字符串) 同 *

此问题的解决方法是shrinkwrap(有关详细信息,请阅读文档)。你可以使用这个命令npm shrinkwrap。这会创建一个 npm-shrinkwrap.json 文件。运行命令时,您会在控制台上看到以下 cmets(npm 通知 package-lock.json 已重命名为 npm-shrinkwrap.json。npm-shrinkwrap.json 将用于以后的安装。 )。这将为您在 package.json 中的任何内容提供更新的包版本。

【讨论】:

  • 这并不是真正的问题解决方案。能举个详细的例子吗?我有一个模板 package.json "package": "*" 安装后我想要 "package": "^1.0.0"
  • @kombye 我已经在解决方案中提供了一个链接。和我写的一样。我想你没有检查它。这不是任何随机链接。请查看:docs.npmjs.com/files/package.json#dependencies
猜你喜欢
  • 2021-10-03
  • 2017-05-08
  • 2021-09-30
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多