在 package.json 中使用 git url 来选择特定的分支或标签?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (4)
  • 关注 (0)
  • 查看 (815)

我 fork 了一个 node 模块,并进行了 bugfix ,我想使用我自己的修复版本在一个特定的分支上,知道这个修复被合并和发布。

我应该如何编辑我的 package.json 中的 dependencies

提问于
用户回答回答于

来自 NPM文档:

git://github.com/<user>/<project>.git#<branch>

git://github.com/<user>/<project>.git#feature\/<branch>
用户回答回答于

在最新版本的NPM中,您可以这样做:

npm install gitAuthor/gitRepo#tag

如果仓库是一个有效的NPM包,它将在Package.json中自动别名为:

{ "NPMPackageName": "gitAuthor/gitRepo#tag" }

如果你能把这个加到 @Juingordon 的回答中,现在就没有必要用人工来加别名了!

用户回答回答于

如果你想用develfeature分支,或者您没有将某个包发布到NPM 仓库,或者因为它是一个私有模块而不能发布,则可以指向git://URI,而不是您的版本号。比如package.json:

"dependencies": {
   "public": "git://github.com/user/repo.git#ref",
   "private": "git+ssh://git@github.com:user/repo.git#ref"
}

其中的#ref部分是可选的,它可以是一个分支(如master),标签(如0.0.1)或部分或完整的commit id。

用户回答回答于

从NPM1.1.65开始,Github URL 可以更简洁 ,npmjs.org/doc/files/Package.json.html。可以像 git url 那样添加 tag,比如 user/project#branch

因此

"babel-eslint": "babel/babel-eslint",

或参考 jscs 上的标签定义

"jscs": "jscs-dev/node-jscs#v1.12.0",

注意,如果您使用 npm --save,你将得到更长的 git url

https://docs.npmjs.com/files/Package.json#git-urls-as-依赖性

Git URL作为依赖项 Git URL的形式可以是: git://github.com/user/project.git#COMMIT-ish git+ssh://user@hostname:project.git#COMMIT-ish git+ssh://user@hostname/project.git#COMMIT+ish git+http://user@hostname/project/blh.git#COMMIT-ishGIT+https://user@hostname/project/blh.git#COMMIT-ish提交-ish可以是任何标记、sha或分支,这些标记可以作为参数提供给git签出。默认的是主人。 GitHub URL 在1.1.65版中,您可以将GitHub URL称为“foo”:“user/foo-project”。就像使用git URL一样,可以包含提交-ish后缀。例如: {“名称”:“foo”, “版本”:“0.0.0”, “依赖关系”:{“表示”:“visionmedia/Express”,“mocha”:“visionmedia/mocha#4727d357ea”}

扫码关注云+社区

领取腾讯云代金券