Npm 中快照版本的解决方法
Workaround for snapshot versions in Npm
在网上搜索模拟 Npm 中 Maven 快照版本行为的解决方案后,我进行了一些测试并找到了适合我的解决方法。
如果你愿意,我希望你能给我一些反馈,如果你知道任何其他可能的解决方法,或者如果我在这个问题上遗漏了什么,请告诉我。
我看到的唯一缺点是必须在 node_modules
文件夹中检查已安装依赖项的实际版本,因为我使用 npm update --no-save
以避免替换我在 package.json
安装或更新后。
你可以在我的 github.
中找到代码和文档
Npm 快照的解决方法
发布和使用快照版本
图书馆:
- (仅在第一个项目设置中)将
package.json
中的版本设置为:
"version": "0.0.0-snapshot.0"
- 使用这些命令发布快照并标记为 快照:
"scripts": {
"publish:snapshot": "npm run version:snapshot && npm publish --tag snapshot",
"version:snapshot": "npm version prerelease --preid snapshot"
}
- 检查快照编号是否在
package.json
中递增
申请:
- (仅在第一个项目设置中)删除
package-lock.json
和npm install
- 在开发中设置对快照版本的依赖:
"dependencies": {
"npm-test-lib-a": ">=0.0.0-snapshot.0"
}
- 要获取最新的快照版本,请使用此命令:
npm update <package> --no-save
- 要查看实际安装的版本,请参阅
node_modules
发布和使用发布版本
图书馆:
- 使用这些命令发布版本并标记为最新:
"scripts": {
"publish:release": "npm run version:release && npm publish",
"version:release": "npm version 1.0.0"
}
- 发布版本后始终将版本设置回 快照
申请:
- 要获取最新版本,请使用 npm install:
npm install <package>
- 要查看实际安装的版本,请参阅
node_modules
非常感谢!
到目前为止,最接近的行为可能是 Workspaces in Npm 7。
在网上搜索模拟 Npm 中 Maven 快照版本行为的解决方案后,我进行了一些测试并找到了适合我的解决方法。
如果你愿意,我希望你能给我一些反馈,如果你知道任何其他可能的解决方法,或者如果我在这个问题上遗漏了什么,请告诉我。
我看到的唯一缺点是必须在 node_modules
文件夹中检查已安装依赖项的实际版本,因为我使用 npm update --no-save
以避免替换我在 package.json
安装或更新后。
你可以在我的 github.
中找到代码和文档Npm 快照的解决方法
发布和使用快照版本
图书馆:
- (仅在第一个项目设置中)将
package.json
中的版本设置为:"version": "0.0.0-snapshot.0"
- 使用这些命令发布快照并标记为 快照:
"scripts": { "publish:snapshot": "npm run version:snapshot && npm publish --tag snapshot", "version:snapshot": "npm version prerelease --preid snapshot" }
- 检查快照编号是否在
package.json
中递增
申请:
- (仅在第一个项目设置中)删除
package-lock.json
和npm install
- 在开发中设置对快照版本的依赖:
"dependencies": { "npm-test-lib-a": ">=0.0.0-snapshot.0" }
- 要获取最新的快照版本,请使用此命令:
npm update <package> --no-save
- 要查看实际安装的版本,请参阅
node_modules
发布和使用发布版本
图书馆:
- 使用这些命令发布版本并标记为最新:
"scripts": { "publish:release": "npm run version:release && npm publish", "version:release": "npm version 1.0.0" }
- 发布版本后始终将版本设置回 快照
申请:
- 要获取最新版本,请使用 npm install:
npm install <package>
- 要查看实际安装的版本,请参阅
node_modules
非常感谢!
到目前为止,最接近的行为可能是 Workspaces in Npm 7。