npm

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

公式サイト:

npm | npm [Official]

導入

参考:

npm ことはじめ – Qiita

npm とコマンドライン – Qiita

そもそも npm からわからない | ANTEZ

npm install の使い方と npm ci の使い方 | 株式会社 CONFRAGE

インストール

ドキュメント:

install | npm Docs [Official]

使い方

参考:

npm 入門 – Qiita

npm 入門 | とほほの WWW 入門

npm の基本的な使い方 | Web Design Leaves

コマンド

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

参考:

よく使う npm コマンド – Qiita

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

オプション

ドキュメント:

config | 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

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

--prefix オプション

参考:

サブディレクトリでも npm コマンドを複数同時に実行したい – Qiita

サブディレクトリで別の npm プロジェクト作るときのメモ | へぶん

サブフォルダにある package.json で npm install したいときの prefix オプションを実験してうまくいったメモ | 1ft-seabass.jp.MEMO

npm run command --prefix directory でサブディレクトリのコマンドを実行する | Rhyztech blog

ディレクトリを指定して npm でモジュールをインストールする (buzztaiki) – GitHub Gist

npm install module in current directory – Stack Overflow

Can anyone help me with npm --prefix? – Stack Overflow

スクリプト

参考:

npm-scripts を使い倒そう! – Qiita

今まで知らずにいた npm スクリプトでできる 3つのこと | Twilio Blog

npm-scripts で使える便利モジュールたち – Qiita

How to suppress output when running npm scripts – Stack Overflow

npm audit

ドキュメント:

npm-audit | npm Docs [Official]

参考:

脆弱性の警告を受けた 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 の脆弱性警告はどこまで対応するべきでしょうか – teratail

How to check for only high vulnerabilities when using “npm audit”? – Stack Overflow

npm rebuild コマンド

ドキュメント:

npm-rebuild | 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

参考:

npm でローカルインストールしたパッケージを CLI でコマンド実行する方法 – Qiita

グローバルインストールした npm パッケージに PATH を通す方法 | DevelopersIO

Node で node_modules にパスを通す | KayaMemo

node_modules 以下の .bin をパスに加える | rmaruon

npm でパッケージをインストールする | The Strange Storage

node_modules 以下のライブラリに PATH を通す – Qiita

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

コマンドを更新する

npm コマンド自体を更新する。

$ npm update -g npm

参考:

npm 自体のバージョンを上げる – Qiita

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]

参考:

初めての npm パッケージ公開 – Qiita

How to Create and Publish an NPM Package | freeCodeCamp

Best Practices for Creating a Modern npm Package | Snyk

Build and Publish Your First NPM Package (Ogunniyi Tunmise) | The Andela Way

--silent / --loglevel オプション

警告を表示せずにインストールには、コマンドに --silent オプションを指定する。

$ npm install --silent

または、loglevel を変更してインストールする。

$ npm install --loglevel=error --no-update-notifier

参考:

disable warnings – Stack Overflow

WARN on dependency – Stack Overflow

グローバルのインストール先を変更する

ドキュメント:

Resolving EACCES permissions errors when installing packages globally | npm Docs [Official]

参考:

Install npm packages globally without sudo – sindresorhus/guides – GitHub

Install NPM into home directory with distribution Node.js package – Stack Overflow

Enable npm install -g for all users – Stack Overflow

CI

ロックファイル (package-lock.json) から依存関係をインストールする。

ドキュメント:

npm-ci | npm Docs [Official]

参考:

npm ci を使おう/あるいはより速く – Qiita

npm install と npm ci の違いをメモする | CLOVER

npm install と npm ci って結局どう使うの? | Mitsuyuki.Shiiba

CI/CD で npm ci する際は ~/.npm をキャッシュしよう | DevelopersIO

あなたが npm install をしてはいけない時 | Minimal Blog

npm ci しようとしたら npm ERR! `npm ci` can only install packages エラー | m_03

ENOLOCAL エラー

原因:

package-lock.json で指定されたモジュールがローカルの node_modules 以下に存在しない。

対処法:

package-lock.json を削除してモジュールを再インストールする。

$ 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

npm WARN old lockfile The package-lock.json file was created with an old version of npm – Stack Overflow

トラブルシューティング

Troubleshooting | npm Docs [Official]

リファレンス

CLI Commands | npm Docs [Official]

ドキュメント

npm Docs [Official]

リポジトリ

npm/cli: the Package Manager for JavaScript – GitHub

まとめ/Tips

便利コマンド | LAZE SOFTWARE

そもそも npm からわからない | ANTEZ

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

記事をシェアする:
タグ:

コメントを残す

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

Protected by reCAPTCHA