開発で使っている npm レジストリのドメイン変更後に yarn add
コマンドを実行するとエラーが発生するというトラブルに遭遇したので、原因と解決法をメモします。
[トラブル内容]
npm レジストリのドメインの変更後に yarn add
で新しいnpm レジストリからモジュールを取得しようとしたところ、下記のようなエラーが発生してインストールができなくなりました。
[1/4] Resolving package...
[2/4] Fetching packages...
warning Pattern [library name] is trying to unpack in the same destination ...
This could result in non-deterministic behavior, skipping.
Info There appears to be trouble with your network connection. Retrying...
ドメイン変更後に、yarn config set registory
(念のためにnpm config set registory
も)で参照のレジストリを変更したのですが、エラーは解決しませんでした。
[原因]
一部のモジュール(yarn add
コマンドで追加しようとしていたモジュールの依存先)の yarn.lockファイル内での参照レジストリが 古いままになっていました。
[解決方法]
下記の手順の前にyarn config list
で参照レジストリが新しいものになっているか確認するといいです。
(古いままになっていた場合は、yarn config set registory <npm レジストリのURL>
で参照レジストリを更新します。)
-
yarn cache clean <対象モジュール名>
で対象モジュールのyarnのキャッシュを削除 -
node_modules
フォルダとyarn.lock
ファイルを削除 -
yarn (install)
コマンドを実行してnode_modules
フォルダとyarn.lock
ファイルを作り直す
上記の手順を実行したところ、無事すべてのモジュールの参照先レジストリが新しいドメインに変更され、yarn add
コマンドも成功しました。
[参考]
トラブル解決にあたって、下記を参考にしました。