
Node.jsのパッケージ管理npmを理解する
2020-05-16
npm - Node.jsのパッケージ管理
npmには、オンラインリポジトリと、パッケージ管理のコマンドラインツールの2つを指す。
今回、コマンドラインツールとしてのnpmについて説明します。
Node.jsのパッケージ管理 npm
Node.jsの標準のパッケージ管理は、npmコマンドで行います。
npmでは、npm install
コマンドでインストールした場合、プロジェクトのルートディレクトリ
のpackage.jsonというファイルにインストールしたプラグインが追記されます。
コマンドラインnpm実行時の警告・エラー
1. npm install - “npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents…”
状況
1 | npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) |
How to solve npm install throwing fsevents warning on non-Mac OS?
原因
MacOS限定のモジュールがnpm installによって読み込まれた。
対策
OPTIONAL DEPENDENCY
と表示されて必要がないオプションモジュールなので、npm installから除外します。
対応方法
FoggyDay Oct 14’19 at 16:17のコメントを参照して、次のコマンドを実行します。
1 | npm install -f |
2. npm install - npm fundの表示の意味は?
パッケージの開発者への寄付を募るメッセージであり、npm fundコマンドを実行すると、どのパッケージが寄付対象であるか示してくれる。
3. npm install - “found 1 low severity vulnerability”
npm installコマンド実行時に、脆弱性に関する警告が発生する。npm auditコマンドで、脆弱性のあるパッケージをリストアップする。
状況
1 |
|
原因
呼び出し元のoptimistが、minimistの古いバージョンに依存しているため
対策
npm auditを実行して解決方法が存在するか確認する。
1.脆弱性に関する解決方法が公開されている場合、解決のためのコマンドが表示されるため、コマンドを実行して解決する(例)。
1 | === npm audit security report === |
2.解決方法がない場合、npm audit fixを実行してセキュリティパッチを当てるか、それでも解決しない低度の脆弱性であれば、そのままにしておく。
そもそも未知の脆弱性が存在する場合もあり、npm auditで解決できるとは限らない。
1 | npm install -g yarn |