npm
Node.js で使用するパッケージマネージャー
公式サイト:
目次
導入
参考:
インストール
参考:
install (v8) | npm Docs [Official]
使い方
参考:
npm の基本的な使い方 | Web Design Leaves
コマンド
init
:package.json
を生成する。update
:package.json
に従ってパッケージをインストール/更新する。install
:パッケージを追加する。remove
:パッケージを削除する。list
:インストール済みパッケージの一覧を表示する。outdated
:更新が必要なパッケージの一覧を表示する。prune
:package.json
で管理されていないパッケージを削除する。search
:パッケージを検索する。show
:パッケージの詳細を表示する。audit
:既知の脆弱性を確認する。
参考:
オプション
参考:
config (v8) | npm Docs [Official]
パッケージをインストールする
package.json
の記述に従って、node_modules
ディレクトリにパッケージをインストールする。
$ npm install
参考:
npm-install | npm Docs [Official]
What is the purpose of using --save-exact – Stack Overflow
パッケージをグローバルにインストールする
グローバルにインストールしたパッケージが配置される場所を確認する。
$ npm root -g
npm
コマンドで vtop
をグローバルにインストールする。
$ npm install -g vtop
グローバルにインストールしたパッケージを一覧表示する。(直接名前を指定してインストールしたメインパッケージのみ)
$ npm list -g --depth=0
参考:
npm のグローバルインストールとローカルインストール – Qiita
npm install -g でグローバルインストールしたのに見つけてくれない – Qiita
グローバルにインストールした module が not found になる時の対処 – Qiita
npm や yarn のグローバルインストール先 | カンタロー CGI
Where does npm install packages? – Stack Overflow
パッケージを更新する
npm
コマンド自身を更新する。
$ npm update -g npm
参考:
Updating packages downloaded from the registry | npm Docs [Official]
npm-update | npm 7.x Docs [Official]
How to update globally installed npm packages – Stack Overflow
グローバルにインストールしない方がいい
- 必要なパッケージが
package.json
にリストされていなくてもローカルで動作するようになり、他の環境での動作を保証できなくなる。 package.json
にリストされていないパッケージに依存していた場合、パッケージのバージョンが指定できないため、別のデバイス上では環境が再現できず正常に動作しないことがある。- Node.js で何かしら開発する場合、ポータビリティをなるべく保つためにグローバルにインストールしたパッケージに依存しないように
package.json
を構成する。
参考:
僕が npm install に -g をつけないわけ – Qiita
npm でグローバルインストールをしない方が良い理由 | Youki Takemoto’s Blog
スクリプト
参考:
今まで知らずにいた npm スクリプトでできる3つのこと | Twilio Blog
npm-scripts で使える便利モジュールたち – Qiita
How to suppress output when running npm scripts – Stack Overflow
npm audit
参考:
脆弱性の警告を受けた npm パッケージの依存関係を力技で直す – Qiita
npm audit って何?って時に少し調べた時のノート | Programming Self-Study Notebook
npm install 時に npm audit のセキュリティ警告が出る場合の対処法 | 茶トラ猫のエンジニア日記
npm audit fix では解決できなかった脆弱性の修正 | Sonoko Mizuki
久しぶりに使うレポジトリの脆弱性報告が有りまくったので npm package をアップデートをしてスッキリする | Nobuhiro Takahashi
npm audit: Broken by Design | Overreacted
npm-audit | npm 7.x Docs [Official]
npm audit の脆弱性警告はどこまで対応するべきでしょうか – teratail
How to check for only high vulnerabilities when using “npm audit”? – Stack Overflow
npm build コマンド
参考:
npm-build | npm Docs [Official]
npm test コマンド
参考:
Hide compile warnings during test runs – Stack Overflow
node_modules
参考:
Why there is a node_modules folder under my home folder? – Stack Overflow
Why does npm install local packages in my home directory? – Stack Overflow
PATH
参考:
Node で node_modules にパスを通す | KayaMemo
node_modules 以下の .bin をパスに加える | rmaruon
node_modules 以下のライブラリに PATH を通す – Qiita
npm でローカルインストールした node_modules にパスが通らない – teratail
コマンドを更新する
npm
コマンド自体を更新する。
$ npm update -g npm
参考:
npm 自体のアップデートコマンド | infraya.work
Node.js と npm をアップデートする方法 | Rriver
npm 自体のアップデートを npm コマンドでする | 株式会社 CONFRAGE IT ソリューション事業部
About npm CLI Versions | npm Docs [Official]
パッケージをリリースする
参考:
Getting Started | npm Docs [Official]
About npm | npm Docs [Official]
Packages and Modules | npm Docs [Official]
--silent / --loglevel オプション
警告を表示せずにインストールには、コマンドに --silent
オプションを指定する。
$ npm install --silent
または、loglevel
を変更してインストールする。
$ npm install --loglevel=error --no-update-notifier
参考:
disable warnings – Stack Overflow
WARN on dependency – Stack Overflow
ENOLOCAL エラー
原因:
package-lock.json
で指定されたモジュールがローカルの node_modules
以下に存在しない。
対処法:
package-lock.json
を削除して npm モジュールを再インストールする。
$ rm package-lock.json $ npm install
参考:
ERR! code ENOLOCAL npm ERR! Could not install from – Stack Overflow
old lockfile 警告
原因:
古いバージョンの npm
コマンドで作成したロックファイルが検出された。
対処法:
新しい npm
コマンドでロックファイルを更新する。
$ npm update -g npm $ npm install --package-lock-only
参考:
npm update で表示される npm WARN old lockfile を解消する | ledsun blog
トラブルシューティング
参考:
Troubleshooting | npm Docs [Official]
Tips
ドキュメント
CLI Commands (v8) | npm Docs [Official]
リポジトリ
npm/cli: the Package Manager for JavaScript – GitHub
リンク
npm-force-resolutions
リポジトリ:
入手:
node_modules-path
リポジトリ:
入手: