10

我正在尝试使用该命令修补我的 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。

4

3 回答 3

6

我能够自己解决错误。错误是补丁版本写为 01.ie2018.11.01而不是2018.11.1. npm version patch没有解释性消息就失败了。

于 2018-10-01T22:50:16.570 回答
6

是的,您是正确的,semver版本号必须是inclusively中的有效整数[0-9]

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

例如,如果您执行npm version patch --verbose,npm会吐出有关命令失败原因的其他信息。您可以在任何有效命令上使用详细标志npm

希望这会有所帮助!

于 2018-10-01T23:32:18.513 回答
0

我在使用 npm v6.14.8 时遇到了同样的问题,最终发现我完全忘记了"version"在我的 package.json 中包含该属性!这现在适用于npm 7.0.9 及更高版本,但该更改尚未向后移植到 v6,因此如果您仍在使用它,请确保您没有遗漏它。

于 2020-11-21T18:45:46.253 回答