ユーザ用ツール

サイト用ツール


npm

npm

npmnode.js 用のパッケージ管理システム。

準備

node本体に付属しています。

使い方

npmプロジェクトの開始

 $ npm init

packege.jsonが作られる。

node_modulesディレクトリは .gitignore 等に追加してSCMに管理されないようにする

モジュールのインストール

expressを追加する。これをすると依存モジュールとしてpackage.jsonに記録される

$ npm install express

eslint等、実行環境で不要なモジュールは –save-dev を付ける

$ npm install --save-dev eslint 

gオプションはグローバルインストール。nodeで動作するコマンドラインツールをインストールする場合に使用する。

$ npm install http-server -g
$ http-server

package.jsonに記録されている依存モジュールのインストール

$ npm install
$ npm i

package-lock.jsonに完全に一致させる(clean install)

$ npm ci

packageの脆弱性チェック

$ npm audit

.npmrc

npmの設定ファイル。ユーザのホームディレクトリ、またはプロジェクトのpackage,jsonと同じディレクトリに置く

ignore-scripts=true
min-release-age=3
save-exact=true
  • ignore-scripts: `npm install`実行時に依存パッケージのpreinstall/install/postinstallの実行を抑止
  • min-release-age: 公開から指定日数経過してないバージョンをnpm installでインストールしない
  • save-exact: package.jsonに書き込む時にバージョンを固定する

これらはサプライチェーン攻撃への対策としても有効。汚染バージョンが公開されても指定した日数はインストールされない。またインストールされても、installスクリプトでマルウェアをダウンロードするような攻撃から守ることができる。

npm.txt · 最終更新: by nullpon