前提として
nodenv などでnode.jsのバージョンを合わせた上で作業する。
.node-version がない場合は、当時のnode.jsのバージョンをなんとかして調べる。
また、正しい挙動・想定される挙動 を事前に把握しておく。
Gitで管理するなど、試行錯誤ができる状況を作っておく。
package-lock.json の内容でnode_moduleをinstallする
npm install
ではなく npm ci
を使えば package-lock.json の内容でモジュールをインストールできる。
パッケージに脆弱性がある場合も多いので頼りすぎ注意。
(やっぱり package-lock.json のGit管理は大事ですよね)
npmのバージョンが足らなくて npm ci
できないとき
とりあえず npm install
を試す方が正攻法な気がします。
その上で npm installがこけてしまった場合、、、
npm outdated -g
して、npmが 5.7以上に上げられるかを確認して、
npmをアップデートできる場合、 npm update -g npm
して、
npm ci
する。
npm ciでもダメなら頑張ってnpm installする
腰を据えて npm install
する。
エラーログを読んで、一つ一つ対応する。
脆弱性エラーが出たときは、npm audit fix
してみる。
脆弱性解消しきれない場合は、npm audit fix --force
してみる。
それでも脆弱性解消しきれない場合は、npm audit
してみて、パッケージの一つ一つに対応していく。
ログ読めば大体なんとかなる。
参考記事