npm

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

参考:

npm/cli: a package manager for JavaScript

npm – npm

コマンド

参考:

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

グローバルにインストールしない方がいい

  • ローカル環境では必要なパッケージが package.json にリストされていなくても動作するようになるので、他の環境での動作を保証できなくなる。
  • package.json にリストされていないパッケージに依存していた場合に必要なパッケージに対してバージョンの範囲を指定できないので、別の環境で同じ環境を再現しようとして同じパッケージをインストールしても、バージョンの違いにより正常に動作しない可能性がある。
  • Node.js で何かしら開発する場合にポータビリティをなるべく保つために、グローバルにパッケージをインストールしないようにし、また、グローバルにインストールしたパッケージに依存しないように package.json を構成する必要がある。

参考:

僕が npm install に -g をつけないわけ – Qiita

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

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

npm audit

参考:

脆弱性の警告を受けた npm パッケージの依存関係を力技で直す – Qiita

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

タグ:

コメントを残す

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