我正在尝试将预发行版本与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
我发布到一个关系存储库:
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 install
时,如何使npm获取最新的预发行版本?