YASD-TECH
YASD TECH
# TypeScript

npm install・yarn installのやり直し

投稿日:2024/10/26

更新日:2024/11/4

ttitleImage

前置き

以前、調査のためにアプリケーションのバージョンを下げようとした際、node_modulesを入れ直したく、その際にyarn.lock・package-lock.jsonとpackage.jsonを消してからyarn・npm installを行うとうまくいきませんでした。

参考にしたのはチャットGPTの以下の回答です。

GPTの回答
Node modulesの入れ直しは、以下の手順で実行できます。

1. `node_modules` フォルダを削除する:  

   プロジェクトディレクトリで以下のコマンドを実行して、`node_modules` フォルダを削除します。

   ```

   rm -rf node_modules

   ```

2. `package-lock.json` (または`yarn.lock`) の削除 (オプション):  

   確実にクリーンインストールしたい場合、`package-lock.json` ファイルも削除します。

   ```

   rm -f package-lock.json

   ```

3. 依存関係の再インストール:  

   npmを使っている場合は以下のコマンドを実行します。

   ```

   npm install

   ```

   または、yarnを使っている場合は以下を実行します。

   ```

   yarn install

   ```

これで、すべての依存関係が再インストールされます。

結果的にこれだとうまくいきませんでした。

解決策

yarn.lock.jsonもしくはpackage-lock.jsonを削除していたのが問題でした。

正しくは以下です。

Terminal
rm -rf node_modules
yarn install or npm install

yarn installやnpm installは、主に package.json と yarn.lock を見て依存関係を解決し、必要なパッケージを node_modules フォルダにインストールしているようで、これにより、プロジェクトの依存関係が一貫して管理されます。

なので、yarn.lockやpackage-lock.jsonを削除した上でinstallし直してしまうと依存関係が全く同じにならなくなるので、新規で個人開発をしている時などは問題ないケースもあるが、長く運用されているアプリケーションでこれやるとうまくいかなくなるケースがあるようでした。

ついでに、、、

Terminal
yarn install --check-files

これでもいけるよ、と言う記事がちらほらありますが、--check-files フラグは、インストール済みのパッケージのファイルをチェックし、もし欠落しているファイルがあればそれを再インストールするみたいなので完全なインストールのやり直しにはなりません。

なので

Terminal
rm -rf node_modules
yarn install or npm install

で入れ直す方がいいんじゃないかなと思っています。

Index

  • 前置き
  • 解決策