【npm】パッケージの脆弱性対処(備忘録)
nuxtでアプリをビルドしたときにパッケージの脆弱性に関する警告文が出た
npmの依存関係を修復したい
「警告文を1㍈も理解せずnpm install で胡麻化してきた」人にとって、一歩踏み出す補助輪になればとも思いメモを残します
根本的な理解については別途お調べください
目次
package.json と package-lock.json
node_modules(パッケージの大群)はgitへpushするものではない
なので、再現するためにパッケージを記しておくファイル(package.json)が必要
package.json で指定している内容を元に npm install では各種パッケージがインストールされる
が、実際にインストールされるものは package.json への書き方やタイミングでインストールされるものが変わる
そのため、実際にインストールされたものが package-lock.json へ記録される(package-lock.jsonが存在しない場合は生成される)
これにより、他の開発環境で npm install する際は package-lock.json が参照され
固定されたバージョンで各パッケージがインストールがされるため、node_modulesが再現できる
脆弱性の確認
npm audit
audit は監査という意味
パッケージの依存関係に脆弱性がある箇所を教えてくれるコマンド
※ただし、npm v6以上
脆弱性の自動修正
npm audit fix
npm audit fix --force
ある程度は自動修正してくれる
high,criticalを潰しておけばとりあえずはOK
自動修正してくれない部分はログを見て手動で直した
脆弱性の手動修正
npm ls "パッケージ名"
パッケージ名を指定して、どこにそのパッケージがあるか探すことができる
不必要なパッケージを削除して、インストールしなおす
npm install "パッケージ名"
npm install "パッケージ名@バージョン" ※バージョン指定する場合
参考記事
Qiita記事
脆弱性の警告を受けたnpmパッケージの依存関係を力技で直す
あなたがnpm installをしてはいけない時
npmパッケージのvulnerability対応フロー
【Node.js】package.jsonとpackage-lock.jsonについて簡単にまとめる
package-lock.jsonについて知りたくても聞けなかったこと
外部記事
"npm install"と "npm ci"の違いは何ですか?
package.jsonとpackage-lock.jsonの運用方法について
以上
間違った理解や記述があればご指摘いただけると幸いです
Author And Source
この問題について(【npm】パッケージの脆弱性対処(備忘録)), 我々は、より多くの情報をここで見つけました https://qiita.com/masatakaaaa/items/22669ab7d53c8c7e09a1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .