私の環境でYarn 0.17.9をセットアップしようとしていますが、レジストリに問題があります。現在、2つのレジストリ、公式npmjsと内部ネットワーク(Sinopia)上の独自のレジストリを使用しています。
問題は、内部ツールを使用して、npm install
を介して--registryフラグを指定してパッケージをプルすることです。 yarn add
には--registryオプションがなく、npmjsへのフォールバックでカスタムレジストリをグローバルに設定できません。私は.npmrc
を試しましたが、プロジェクトのnpm/yarnに対して1つのレジストリしか設定しません。 .yarnrc
は機能していないようで、.npmrc
によって沈黙されています
2つのレジストリを指定する方法はありますか(パッケージが最初のレジストリに見つからない場合、2番目のレジストリにフォールバックします)?または、パッケージごとに異なるnpmレジストリを指定しますか?
Yarnはnregとして--registryフラグをサポートしていませんが、.yarnrcでレジストリを設定できます
.yarnrcが無視されている場合は、次のコマンドを使用して〜/ .yarnrcからコピーできます。
yarn config set registry http://registry.com/registry//
.yarnrc
ファイルをプロジェクトのルートに置き、そのファイルに次の行を書き込みます。
registry "https://registry.npmjs.org/"
これはプロジェクト固有のリポジトリとして機能します。
.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が機能します。