web-dev-qa-db-ja.com

Package.jsonのgit URLを使ってブランチやタグに依存しますか

あるバグ修正でノードモジュールをフォークし、そのバグ修正がマージされてリリースされるまで、もちろん機能ブランチ上で自分の修正版を使いたいとしましょう。

私のpackage.jsondependenciesで私の固定バージョンをどのように参照するでしょうか?

357
hurrymaplelad

npmのドキュメントから

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

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

NPMバージョン1.1.65以降、これを行うことができます。

<user>/<project>#<branch>
514
hurrymaplelad

@ danthetaのコメントあたり:

Npm 1.1.65以降、Github URLはより簡潔なユーザー/プロジェクトになることができます。 npmjs.org/doc/files/pack.json.html user/project#branchのようにブランチを添付できます。

そう

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

またはjscsのタグv1.12.0の場合:

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

もしあなたがnpm --saveを使うなら、あなたはより長いgitを得るでしょう。

からhttps://docs.npmjs.com/files/package.json#git-urls-as-dependencies

依存関係としての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/blah.git#commit-ish git + https://user@hostname/project/blah.git#commit-ish

Commit-ishは、git checkoutの引数として指定できる任意のタグ、sha、ブランチです。デフォルトはmasterです。

GitHubのURL

バージョン1.1.65以降では、GitHubのURLを単に "foo": "user/foo-project"として参照することができます。 gitのURLと同じように、コミット風のサフィックスを含めることができます。例えば:

{"名前": "foo"、
"バージョン": "0.0.0"、
「依存関係」:{「エクスプレス」:「visionmedia /エクスプレス」、「モカ」:「visionmedia /モカ#4727d357ea」}

127
justingordon

develまたはfeatureブランチを使用したい場合、または特定のパッケージをNPMレジストリに公開していない場合、あるいはプライベートモジュールであるためにできない場合は、自分のバージョン番号の代わりにgit:// URIを指定できます。 package.json

"dependencies": {
   "public": "git://github.com/user/repo.git#ref",
   "private": "git+ssh://[email protected]:user/repo.git#ref"
}

#ref部分はオプションであり、ブランチ(masterのような)、タグ(0.0.1のような)、または部分的または完全なコミットIDにすることができます。

37
Fizer Khan

最新版のNPMでは、次のことができます。

npm install gitAuthor/gitRepo#tag

リポジトリが有効なNPMパッケージである場合は、package.json内で次のように自動的にエイリアスされます。

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

これを@justingordonの回答に追加できるのであれば、手動エイリアスの必要はありません。

25
vortex