Package.jsonファイルにインストールするプライベートリポジトリがあります。
"private-module": "git+ssh://[email protected]:private/private-module.git"
デフォルトでは、npmはデフォルトの秘密鍵を使用します。 npm install
の実行時にnpmが使用するsshキーを指定できるようにします。これを行う方法はありますか?
以下にいくつかの解決策を示します。
~/.ssh/config
にエントリを追加します。例えば:
Host bitbucket.org IdentityFile〜/ .ssh/bitbucket_key IdentitiesOnly yes
ssh-agent
を使用して、事前にキーをエージェントインスタンスに追加します。
ssh-ident のようなものを使用して、現在の作業ディレクトリまたはssh-identに渡された引数に基づいてsshエージェントとIDを動的に選択します。 READMEに記載されているように、通常はssh-identをssh
にエイリアスして、すべての場所で自動的に使用されるようにします。
Mscdexの answer の最初の部分を変更した後、npm install
コマンドが機能する前に、既知のホストのリストにホストを追加する必要がある場合があります。
これを行うには、プライベートリポジトリを別のディレクトリに複製します。
git clone ssh://[email protected]:private/private-module.git
続行するかどうかを尋ねられ、yes
と入力して入力すると、bitbucket.orgが信頼されます。プロジェクトディレクトリに戻り、npm install
を再試行します。これは、mscdexの答えが私のために働くために必要だったものです。
信頼できるホストを追加する方法は他にもありますが、これにより、目的のプライベートリポジトリに実際にアクセスできることを確認できます。
それ以外の場合は、.npmrc
ファイルでNPM Tokenを使用できます。
// .npmrc
//registry.npmjs.org/:_authToken=${YOUR_NPM_TOKEN}
ソース: https://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules