首页 > 解决方案 > 如何让 npm 始终获取最后一个预发布版本?

问题描述

我正在尝试将预发布版本与 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

标签: npm

解决方案


推荐阅读