Npm 中快照版本的解决方法

Dan*_* P. 5 snapshot npm

在网上搜索了在 Npm 中模拟 Maven 快照版本行为的解决方案后,我做了一些测试并找到了适合我的解决方法。

如果您愿意的话,我希望您给我一些反馈,如果您知道任何其他可能的解决方法,或者我在这方面是否遗漏了什么,请告诉我。

我看到的唯一缺点是必须在文件夹中检查已安装依赖项的实际版本node_modules,因为我正在使用npm update --no-save以避免在package.json安装或更新后替换我的范围表达式。

您可以在我的github中找到代码和文档。

Npm 中快照的解决方法

发布和使用快照版本

图书馆:

  1. 仅在第一个项目设置中)将版本设置为package.json
    "version": "0.0.0-snapshot.0"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用这些命令发布快照并标记为快照
    "scripts": {
        "publish:snapshot": "npm run version:snapshot && npm publish --tag snapshot",
        "version:snapshot": "npm version prerelease --preid snapshot"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 检查快照编号是否已增加package.json

应用:

  1. 仅在第一个项目设置中)删除package-lock.jsonnpm install
  2. 在开发中设置对快照版本的依赖:
    "dependencies": {
        "npm-test-lib-a": ">=0.0.0-snapshot.0"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 要获取最新的快照版本,请使用以下命令:
    npm update <package> --no-save
    
    Run Code Online (Sandbox Code Playgroud)
  4. 要查看实际安装的版本,请参阅node_modules

发布和使用发行版本

图书馆:

  1. 使用以下命令发布版本并标记为最新
    "scripts": {
        "publish:release": "npm run version:release && npm publish",
        "version:release": "npm version 1.0.0"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 发布版本后始终将版本设置回快照

应用:

  1. 要获取最新版本,请使用 npm install:
    npm install <package>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 要查看实际安装的版本,请参阅node_modules

非常感谢!

Dan*_* P. 1

到目前为止,最接近的行为可能是Npm 7 中的工作区