【问题标题】:How to call npm version (to update my own package's version and then commit)如何调用 npm 版本(更新我自己的包的版本然后提交)
【发布时间】:2017-11-06 07:58:36
【问题描述】:

我跑的时候什么都没有发生

npm version minor -m "test"

请注意,如果我运行不带任何参数的 npm 版本,则会有输出:

$ npm version
{ 'my-app': '0.7.0',
  npm: '4.2.0',
  ares: '1.10.1-DEV',
  cldr: '30.0.3',
  http_parser: '2.7.0',
  icu: '58.2',
  modules: '51',
  node: '7.10.0',
  openssl: '1.0.2k',
  tz: '2016j',
  unicode: '9.0',
  uv: '1.11.0',
  v8: '5.5.372.43',
  zlib: '1.2.11' }

我应该如何使用npm-version?我希望它更新 package.json 中的版本号,运行我在 package.json 脚本列表中指定的“版本”脚本,然后提交。我可以使用npm run version 执行我指定的“版本”脚本,但是如何正确运行 npm-version?

【问题讨论】:

    标签: node.js npm npm-cli


    【解决方案1】:

    不确定您使用的是哪个版本的 npm,但在 3.10.10 版本中,npm version 命令仅接受一个参数,通过键入 version --help 查看帮助页面

    [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
    

    这些值与 SemVer http://semver.org/ 相关

    例如,如果您的 package.json 是

    {
      "name": "adventure-game",
      "version": "1.1.0",
      "description": "Bring back Monkey Island"
    }
    

    那么下面的命令会导致 package.json 中的version 属性被更新。

    npm version major // version: "2.1.0" 
    npm version minor // version: "1.2.0" 
    npm version 2.3.4 // version: "2.3.4"
    npm version patch // version: "1.1.1"
    npm version premajor // version: "2.0.0-0"
    

    等等……

    【讨论】:

    • npm minor 也不做任何事情(npm 版本是 4.2.0)
    • 你的 package.json 的内容是什么?您需要从 package.json 所在的同一文件夹中运行它
    • 像往常一样,我在最终决定发帖后半小时后才真正想通了。由于 git repo 不干净,调用静默失败。
    【解决方案2】:

    如果您在 Windows 上,新版本的 nodejs 将完成这项工作。如果在 Linux ubuntu 上: sudo apt-get install npm,也可以完成这项工作

    【讨论】:

    • 这能回答问题吗?
    【解决方案3】:

    如果在不干净的 git repo 中,调用将失败(静默)。您可以通过-f--force 强制它成功。

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 2019-03-28
      • 2019-04-15
      • 2012-08-10
      • 2018-01-06
      • 1970-01-01
      相关资源
      最近更新 更多