【JS】node_modulesはlockファイルがあれば全削除してもほぼ大丈夫だよ!
こんにちは!node_modulesをGitHubにpushしたことのあるMizutani(@sirycity)です。あれやるとやばいよね。
今日はそんなnode_modulesを消す話です。物騒ですね。
結論
node_modulesはlockファイルがあれば大抵の場合は全削除しても大丈夫です。復活できます。すいません、消した結果何かがあっても責任はとれません
はじめに
node_modules、消したくなったことありませんか?僕はあります。ファイルサイズ大きいし。でも、消しても復活できるか不安ですよね。分かりますその気持ち。
node_modulesとは
node_modulesとはnpmとかyarnを使ってインストールしてきたライブラリのコードが凝縮された空間です。中身見てみると面白いです。めっちゃコードあるから。
...とはいえ、基本的にnode_modulesの中身を触ることはないです。だって他人のコードだしね。
node_modulesとpackage.json
node_modulesにはpackage.jsonで指定した中身が入ってます。package.jsonが牛乳ならnode_modulesはカルシウム。
lockファイルについて
npmだとpackage-lock.json
、yarnだとyarn.lock
って名前です。lockファイルはpackage.jsonの結果みたいもの。package.jsonがおつかいメモならlockはレシート。package.jsonが牛乳ならlockはおいしい牛乳。
lockファイルがあればnode_modulesは消してOK
こっからが大事ですが、lockファイルがあればnode_modulesは消してもほとんどの場合でOKです。牛乳の商品名が指定されてれば成分変わらないみたいなイメージ。
実際にlockファイルがある状態でnode_modulesを消してみよう。こんな感じ。
rm -rf node_modules/
んで、消したらもう1回復活させましょう。こんな感じ。npmとyarnでそれぞれこんな風。
npm install
yarn install
はいこれで消したnode_modules元通り。もう1回消しましょうか。
rm -rf node_modules/
もう1回復活させよう。
npm install
yarn install
はい元通り。
例外
...恐ろしい話ですが、lockファイルがあってもnode_modulesが元通りにならない場合があります。レアケースだけどね。
それは実行環境が違うケース。例えばOSが違ったり、nodeのバージョンが違ったり。この辺りはdocker使うなりして揃えましょう。まあそこまでしなくても良い場合も多いと思います。
さいごに
最初のうちは何を消してもよいか分からなくなりがちですよね。皆さんもnode_modules、消してみてくれよな。
LINK
TAGS
LATESTS
POPULAR
- CSS2021/04/29【CSS】右寄せの方法は結局flexが一番良さそう
- React2020/07/13【JS】Reactのstyleの使い方、書き方いろいろ
- Payment2021/10/16GooglePayでVisaタッチを使う時に知っておきたい過酷な現実【追記あり】
- Others2021/07/11Slackに予約投稿機能ができて嬉しいけどそれでもまだ少し不満な理由【追記あり】
- CSS2020/04/30【CSS】tailwind.cssでよく使うデザインパターン
- CSS2019/03/30【CSS】100vhは「一画面」ではないという罠
- CSS2020/06/09【CSS】max-font-sizeやmin-font-sizeを使いたくなったら
- Vue2019/06/29【JS】Vueの:classの書き方3通り
- JavaScript2020/09/02【JS】yarnの長所とyarnからnpmに戻ってきた理由
- React2020/06/04【JS】ReactのclassNameの色々な書き方紹介