262

依存関係として他のプライベート github リポジトリを含む npm で github プライベート リポジトリをインストールしようとしています。

多くの方法と投稿を試しましたが、どれも機能していません。これが私がやっていることです:

npm install git+https://github.com/myusername/mygitrepository.git

package.json では次のようになります。

"dependencies": {
    "repository1name": "git+https://github.com/myusername/repository1.git",
    "repository2name": "git+https://github.com/myusername/repository2.git"
}

それを行う正しい方法は何ですか?

4

13 に答える 13

170

これを試して:

"dependencies" : {
  "name1" : "git://github.com/user/project.git#commit-ish",
  "name2" : "git://github.com/user/project.git#commit-ish"
}

これを試すこともできます。visionmedia/express は name/repo です。

"dependencies" : {
   "express" : "visionmedia/express"
}

または (npm パッケージ モジュールが存在する場合):

"dependencies" : {
  "name": "*"
}

NPM ドキュメントから取得

于 2014-04-22T04:50:48.310 に答える
118

以下は、必要なすべてのシナリオでうまく機能しました:

"dependencies": {
"GitRepo": "git+https://<token-from-github>:x-oauth-basic@github.com/<user>/<GitRepo>.git"
}
于 2014-10-25T09:27:05.197 に答える
98

npm のドキュメントから、公開ディレクトリを求めてここに来た人のために: 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、またはブランチにすることができます。デフォルトはマスターです。

于 2016-03-09T13:15:05.797 に答える
79

受け入れられた答えは機能しますが、安全なトークンをpackage.json

git-config manpage に記載されているように、この 1 回限りのコマンドを実行するだけです。

git config --global url."https://${GITHUB_TOKEN}@github.com/".insteadOf git@github.com:

GITHUB_TOKEN環境変数として設定するか、直接貼り付けることができます

次に、次のようなプライベート github リポジトリをインストールします。npm install user/repo --save


Heroku でも動作します。上記のgit config ...コマンドをheroku-prebuildスクリプトとしてpackage.jsonセットアップGITHUB_TOKENし、Heroku 構成変数としてセットアップするだけです。

于 2016-10-28T19:30:53.360 に答える
63

人々が指摘するように、それを行うには複数の方法がありますが、最短のバージョンは次のとおりです。

// from master
"depName": "user/repo",

// specific branch
"depName": "user/repo#branch",

// specific commit
"depName": "user/repo#commit",

// private repo
"depName": "git+https://[TOKEN]:x-oauth-basic@github.com/user/repo.git"

例えば

"dependencies" : {
  "hexo-renderer-marked": "amejiarosario/dsa.jsd#book",
  "hexo-renderer-marked": "amejiarosario/dsa.js#8ea61ce",
  "hexo-renderer-marked": "amejiarosario/dsa.js",
}
于 2016-08-02T22:52:16.203 に答える