npm

Node.js で使用するパッケージマネージャー

参考:

npm | npm [Official]

リポジトリ

参考:

npm/cli: a package manager for JavaScript

コマンド

  • initpackage.json を生成する。
  • updatepackage.json に従ってパッケージをインストール/更新する。
  • install:パッケージを追加する。
  • remove:パッケージを削除する。
  • list:インストール済みパッケージの一覧を表示する。
  • outdated:更新が必要なパッケージの一覧を表示する。
  • prunepackage.json で管理されていないパッケージを削除する。
  • search:パッケージを検索する。
  • show:パッケージの詳細を表示する。
  • audit:既知の脆弱性を確認する。

参考:

よく使う npm コマンド – Qiita

npm 入門 | とほほの WWW 入門

npm 入門 – Qiita

npm よく使うコマンドまとめ – Qiita

パッケージをグローバルにインストールする

グローバルにインストールしたパッケージが配置される場所を確認する。

$ npm root -g

npm コマンドで vtop をグローバルにインストールする。

$ npm install -g vtop

グローバルにインストールしたパッケージを一覧表示する。(直接名前を指定してインストールしたメインパッケージのみ)

$ npm list -g --depth=0

参考:

npm のグローバルインストールとローカルインストール – Qiita

npm install -g でグローバルインストールしたのに見つけてくれない – Qiita

グローバルにインストールした node module が not found になる時の対処 – Qiita

グローバルインストールでハマった – 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

グローバルインストールは控えるべき | mosa の胃薬

npm でグローバルインストールをしない方が良い理由 | Youki Takemoto’s Blog

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

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_modules 以下のライブラリに PATH を通す – Qiita

Node で node_modules にパスを通す | KayaMemo

npm でローカルインストールした node_modules にパスが通らない | teratail

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

Tips

参考:

便利コマンド | LAZE SOFTWARE

npm-force-resolutions

参考:

rogeriochaves/npm-force-resolutions: Force npm to install a specific transitive dependency version – GitHub

npm-force-resolutions – npm

node_modules-path

参考:

lexoyo/node_modules-path: Get the path of the `node_modules` folder in your scripts or CLI or package.json – GitHub

node_modules-path – npm

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です