web-dev-qa-db-ja.com

Yarnで複数のnpmレジストリを使用するにはどうすればよいですか?

私の環境でYarn 0.17.9をセットアップしようとしていますが、レジストリに問題があります。現在、2つのレジストリ、公式npmjsと内部ネットワーク(Sinopia)上の独自のレジストリを使用しています。

問題は、内部ツールを使用して、npm installを介して--registryフラグを指定してパッケージをプルすることです。 yarn addには--registryオプションがなく、npmjsへのフォールバックでカスタムレジストリをグローバルに設定できません。私は.npmrcを試しましたが、プロジェクトのnpm/yarnに対して1つのレジストリしか設定しません。 .yarnrcは機能していないようで、.npmrcによって沈黙されています

2つのレジストリを指定する方法はありますか(パッケージが最初のレジストリに見つからない場合、2番目のレジストリにフォールバックします)?または、パッケージごとに異なるnpmレジストリを指定しますか?

17
kraklin

Yarnはnregとして--registryフラグをサポートしていませんが、.yarnrcでレジストリを設定できます

.yarnrcが無視されている場合は、次のコマンドを使用して〜/ .yarnrcからコピーできます。

yarn config set registry http://registry.com/registry//
8
Andrés Andrade

.yarnrcファイルをプロジェクトのルートに置き、そのファイルに次の行を書き込みます。

registry "https://registry.npmjs.org/"

これはプロジェクト固有のリポジ​​トリとして機能します。

4
Himanshu sharma

.npmrc.yarnrcで異なるレジストリを設定してみてください。

だから例えば:.npmrc

registry=https://yourcompany/
virtual/:_authToken=credentials
always-auth=true

always-auth = true ファイルの最後の行である必要があります

そして.yarnrcでは:

registry "https://registry.yarnpkg.com"

その後、yarn add/npm install + private-pakage/public-packgeが機能します。

0
congce wang