首页 > 解决方案 > 特定版本私有包的 NPM 依赖

问题描述

所以我有一个私人 github 存储库,其中包含我在其他项目中使用的已发布包(全部用于我的公司)。

现在我正在使用以下依赖项来定位我的项目。

"dependencies": {
   "@myusername/myrepo": "git+https://ghp_mykey:x-oauth-basic@github.com/myusername/mypackage.git"
}

但这只是针对最新版本,我可以在字符串中添加任何内容以针对特定版本,例如。1.2.3 版?

我试图将 #1.2.3 附加到字符串中,但这给了我错误,“错误:pathspec '0.0.13' 与 git 已知的任何文件都不匹配。”

标签: githubnpm

解决方案


您的版本很可能以v. 这似乎是 GitHub 上的默认行为。

通常的做法是在版本名称前加上字母 v。一些好的标签名称可能是 v1.0 或 v2.3.4。

所以正确的字符串是:

git+https://ghp_mykey:x-oauth-basic@github.com/myusername/mypackage.git#v1.2.3

但是,您也可以使用#semver:<semver>效果更好的格式。

<semver> 可以是任何有效的 semver 范围或确切版本,npm 将在远程存储库中查找与该范围匹配的任何标签或引用

git+https://ghp_mykey:x-oauth-basic@github.com/myusername/mypackage.git#semver:1.2.3

如果您的项目需要,这也将允许您污染 semver 范围。

资源


推荐阅读