我正在尝试将预发布版本与 npm 一起使用。但是当我这样做时,它没有得到最后一个预发布版本npm install。
在我的客户端应用程序中,我有这个:
$ cat package.json| grep mylib
"mylib": ">1.2.4-dev.0",
最初获取的版本1.2.4-dev.201810160008.0
然后,我设置了一个新的预发布版本。
npm version --no-git-tag-version prerelease --preid=dev-$(date +%Y%m%d%H%M)
v1.2.4-dev.201810160906.0
我发布到一个 Nexus 存储库:
npm publish --registry http://X.X.X.X:8080/repository/npm-private-snapshot/
然后我可以看到这个新版本:
npm view mylib versions --json
[
"1.0.0",
"1.2.2",
"1.2.3",
"1.2.4-0",
"1.2.4-201810101547.0",
"1.2.4-201810111027.0",
"1.2.4-201810111231.0",
"1.2.4-201810111445.0",
"1.2.4-201810151548.0",
"1.2.4-201810151550.0",
"1.2.4-dev.201810160006.0",
"1.2.4-dev.201810160008.0",
"1.2.4-dev.201810160011.0",
"1.2.4-dev.201810160906.0",
"1.2.5-201810111819.0"
]
最后,我想让我的客户端应用程序使用这个新版本,所以我运行npm install但它没有更新 mylib,版本仍然是旧版本:
cat package-lock.json| grep mylib
"mylib": {
"resolved": "http://X.X.X.X:8080/repository/npm-group/mylib/-/mylib-1.2.4-dev.201810160008.0.tgz"
我必须跑rm -rf node_modules/mylib ./package-lock.json起来让它按我的预期工作。
$ rm -rf node_modules/mylib ./package-lock.json
$ npm install
$ package-lock.json| grep mylib
"mylib": {
"resolved": "http://X.X.X.X:8080/repository/npm-group/mylib/-/mylib-1.2.4-dev.201810160906.0.tgz",
每次运行时如何获取 npm 获取最后一个预发布版本npm install?