web-dev-qa-db-ja.com

githubプルリクエストからのnpmインストール

npm install docs を見ると、githubリポジトリからnpmをインストールすることが可能に見えます。

プルリクエストから具体的にインストールすることも可能ですか?

ソリューションは、プルリクエストの最後のコミット(最後のsha)に基づいてインストールするだけですか?

43
sfletche

GitHubは元のリポジトリの各PRに対して namespace を維持しているため、これも同様に機能します。

npm install <user>/<repo>#pull/<id>/head

注:NPM v。5で動作しているようには見えません。 以下のコメント を参照してください。

例えば:

npm i --save-dev json-schema-faker/json-schema-faker#pull/129/head

または yarn

yarn add <user>/<repo>#<id>/head

例えば:

yarn add json-schema-faker/json-schema-faker#129/head

Yarnの場合、パッケージ識別子にはpull/セグメントがないことに注意してください。

これは、インストールを自動化する必要がある場合や、PRの発信元であるリポジトリ/ブランチが削除される場合に役立ちます。 GitHubで 非アクティブなプルリクエストをローカルで変更する も参照してください。

60
Tad Lispy

" GitHubからNodeJSパッケージを直接インストールする方法? "は、ブランチを指定できることを述べています。

したがって、PRの元となるレポとブランチを知っている場合、次のことができます。

npm install git+https://github.com/user/repo.git#branch 

シェルから特定のブランチを使用するには、#をエスケープする必要があるかもしれないと言う価値があります。

npm install git+https://github.com/user/repo.git\#branch 

インストールするリポジトリはnpmモジュールである必要があり、package.jsonファイルが含まれている必要があります。そうでない場合、このエラーが発生します。

Error: ENOENT, open 'tmp.tgz-unpack/package.json'. 
22
VonC