阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      npm version

      npm version

      查看软件包版本号

      npm version 使用

      npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
      
      'npm [-v | --version]' to print npm version
      'npm view <pkg> version' to view a package's published version
      'npm ls' to inspect current package/dependency versions
      

      https://a.axihe.com/img/api-npm/mintty_awCMXSTLfD.png

      npm version 说明

      包目录中碰到的版本,新的数据写回运行此 package.json,package-lock.json 和,如果存在的话,npm-shrinkwrap.json。

      该 newversion 参数应该是一个有效 semver 字符串,一个有效的第二参数 semver.inc(之一 patch,minor,major, prepatch,preminor,premajor,prerelease),或 from-git。在第二种情况下,现有版本将在指定字段中增加 1。 from-git 会尝试读取最新的 git 标签,并将其用作新的 npm 版本。

      如果在 git repo 中运行,它还将创建版本提交和标记。此行为由 git-tag-version(请参见下文)控制,可以通过在命令行上禁用它 npm –no-git-tag-version version。如果工作目录不干净,它将失败,除非设置了 -f 或 –force 标志。

      如果提供了 -m 或 –messageconfig 选项,则 npm 在创建版本提交时会将其用作提交消息。如果 message 配置包含 %s,则将替换为结果版本号。例如:

      npm version patch -m "Upgrade to %s for reasons"
      

      如果 sign-git-tag 设置了配置,那么标签将使用 -sgit 标志进行签名。请注意,您必须在 git config 中设置一个默认的 GPG 密钥,以使其正常工作。例如:

      $ npm config set sign-git-tag true
      $ npm version patch
      
      You need a passphrase to unlock the secret key for
      user: "isaacs (http://blog.izs.me/) <i@izs.me>"
      2048-bit RSA key, ID 6C481CF6, created 2010-08-31
      
      Enter passphrase:
      

      如果 preversion,version 或 postversion 在 scriptspackage.json 的属性中,它们将作为 running 的一部分执行 npm version。

      确切的执行顺序如下:

      • 在开始之前,请检查以确保 git 工作目录是干净的。您的脚本可能会在以后的步骤中将文件添加到提交中。如果 –force 设置了标志,则跳过此步骤。
      • 运行 preversion 脚本。这些脚本可以访问 versionpackage.json 中的旧脚本。典型的用途是在部署之前运行完整的测试套件。想要添加到提交中的任何文件都应使用明确添加 git add。
      • version 中 package.json 的要求(patch,minor,major 等)。
      • 运行 version 脚本。这些脚本可以访问 versionpackage.json 中的新脚本(例如,它们可以将其合并到生成的文件的文件头中)。同样,脚本应使用明确将生成的文件添加到提交中 git add。
      • 提交并标记。
      • 运行 postversion 脚本。用它来清理文件系统或自动推送提交和 / 或标记。

      请看以下示例:

      "scripts": {
        "preversion": "npm test",
        "version": "npm run build && git add -A dist",
        "postversion": "git push && git push --tags && rm -rf build/temp"
      }
      

      这将运行您的所有测试,并且只有在通过测试后才能继续进行。然后运行您的 build 脚本,并将 dist 目录中的所有内容添加到提交中。提交后,它将新的提交和标记推送到服务器,并删除 build/temp 目录。

      配置

      allow-same-version

      • 默认值:false
      • 类型:Boolean

      当 npm version 用于将新版本设置为与当前版本相同的值时,防止引发错误。

      git-tag-version

      • 默认值:true
      • 类型:Boolean 提交并标记版本更改。

      commit-hooks

      • 默认值:true
      • 类型:Boolean 提交版本更改时,请运行 git commit 挂钩。

      sign-git-tag

      • 默认值:false
      • 类型:Boolean

      将 -s 标志传递给 git 对标签进行签名。

      请注意,您必须在 git config 中设置一个默认的 GPG 密钥,以使其正常工作。

      目录
      目录