我正在尝试使用以下命令修补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。
答案 0 :(得分:2)
是的,您正确的认为 semver 版本号必须是从[0-9]
起(包括两端)的有效整数。
作为参考,npm
使用node-semver作为它们的semver解析器来处理版本控制。另外,您提到错误无声地失败了,您需要使用详细标志运行命令以查看所有内容。
例如,如果您执行npm version patch --verbose
,则npm
将吐出其他有关命令失败原因的信息。您可以在任何有效的npm
命令上使用 verbose标志
希望有帮助!
答案 1 :(得分:0)
我能够自己解决该错误。错误是补丁版本写为01。
即2018.11.01
而不是2018.11.1
。
npm version patch
失败,没有解释性消息。
答案 2 :(得分:0)
我遇到了与npm v6.14.8相同的问题,最终发现我完全忘记在我的package.json中包含"version"
属性!现在,它可以在npm 7.0.9 and later中使用,但是更改尚未反向移植到v6,因此请确保如果您仍在使用它,则不要遗漏它。