✨
間違えてyarnとnpmを共存させてしまった時の対処法
TypeScriptやJavaScriptで作業する際に、yarn
とnpm
を統一せずに使用したときの問題点と対応策をまとめて備忘録として残しておく。
問題点
依存関係の不整合:
npm
が管理するpackage-lock.json
とyarn
が管理するyarn.lock
が同時に存在すると、どちらのファイルが正しいのか不明確になる可能性がある。
キャッシュの重複:
npm
とyarn
はそれぞれ異なるキャッシュシステムを使用しているため、同じパッケージが2重にキャッシュされることがある。
依存関係のインストール順序の違い:
npm
とyarn
で依存関係のインストール順序が異なる場合があり、ツールやライブラリに支障をきたす場合がある。
バージョンの不一致:
npm
とyarn
で管理する依存関係のバージョンが一致しない可能性がある。
npmを使用してしまったときの対応手順
1. npmでインストールされたReactの削除
まず、ターミナルで以下のコマンドを実行してnpm
でインストールされたReact関連のパッケージを削除する。
npm uninstall react react-dom
package-lock.json
の削除
2. 次に、npm
で管理されていたpackage-lock.json
ファイルを削除する。これにより、npm
の依存関係が完全にクリアされる。
rm package-lock.json
yarn
のインストール
3. 次に、yarn
をインストールし直す。
# 公式リポジトリを追加して`yarn`をインストール
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
4. ReactとReact DOMのyarnでのインストール
Reactを使用している場合、yarn
を使ってReactとReact DOMを再インストールする。
yarn add react react-dom
5. TypeScriptを使用する場合の型定義のインストール
TypeScriptを使用している場合は、以下のコマンドでTypeScriptとReactの型定義をインストールする。
yarn add typescript @types/react @types/react-dom
6. 依存関係のインストール
最後に、既存の依存関係をすべてyarn
でインストールする。
yarn install
この手順を参考にして、依存関係の管理を統一することができる。
Discussion