`npm version patch` 命令失败

`npm version patch` command failing

我正在尝试使用以下命令修补我的 Angular 项目的一个版本 - npm version patch 但出现错误 -

$ npm version patch npm ERR! npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git] npm ERR! (run in package dir) npm ERR! 'npm -v' or 'npm --version' to print npm version (6.4.0) npm ERR! 'npm view <pkg> version' to view a package's published version npm ERR! 'npm ls' to inspect current package/dependency versions

同一命令以前工作正常,但突然停止工作。 我的 npm 版本是 6.4.0.

我能够自己解决错误。错误是补丁版本写成了01。 即 2018.11.01 而不是 2018.11.1npm version patch 失败,没有解释性消息。

是的,你是对的 semver 版本号必须是 [0-9] 中的有效整数

作为参考,npm 使用 node-semver 作为他们的 semver 解析器来处理他们端的版本控制。此外,您提到错误静默失败,您需要 运行 您的命令和详细标志才能看到所有内容

例如,如果您执行 npm version patch --verbosenpm 会输出有关命令失败原因的附加信息。您可以在任何有效的 npm 命令

上使用 verbose 标志

希望对您有所帮助!

我 运行 遇到了与 npm v6.14.8 相同的问题,最终发现我根本忘记在我的 package.json 中包含 "version" 属性 !这现在在 npm 7.0.9 and later 中有效,但更改尚未移植到 v6,因此如果您仍在使用它,请确保您没有遗漏它。