あるバグ修正でノードモジュールをフォークし、そのバグ修正がマージされてリリースされるまで、もちろん機能ブランチ上で自分の修正版を使いたいとしましょう。
私のpackage.json
のdependencies
で私の固定バージョンをどのように参照するでしょうか?
git://github.com/<user>/<project>.git#<branch>
git://github.com/<user>/<project>.git#feature\/<branch>
NPMバージョン1.1.65以降、これを行うことができます。
<user>/<project>#<branch>
@ 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」}
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にすることができます。
最新版のNPMでは、次のことができます。
npm install gitAuthor/gitRepo#tag
リポジトリが有効なNPMパッケージである場合は、package.json内で次のように自動的にエイリアスされます。
{ "NPMPackageName": "gitAuthor/gitRepo#tag" }
これを@justingordonの回答に追加できるのであれば、手動エイリアスの必要はありません。