Open8

npm 学習

plaincode_jpplaincode_jp

npm とは

  • Node.jsのパッケージマネージャー
  • jsのパッケージインストール、アンインストール、検索や更新、バージョン管理を扱う
  • パッケージリポジトリ-> https://www.npmjs.com/
plaincode_jpplaincode_jp

主なコマンド

  • npmのバージョンの確認
$ npm -v
  • npm init

プロジェクトディレクトリ直下にpackage.jsonが作成される。

npm install

plaincode_jpplaincode_jp

タスク npm run

  • npm-scripts
    • package.jsonファイルに記述可能なシェルスクリプトのエイリアス
  • タスク
    • SassやLessのCSSへの変換、JavaScriptやCSSの結合、圧縮などを起動/管理するためのもの。
  • タスクランナー
    • タスク管理の自動化ツール。Gulp、Gruntが有名
    • 同等の機能をもつ npm-scripts で管理することが増えている

http://www.tohoho-web.com/ex/npm.html

plaincode_jpplaincode_jp

yarn と npm の違い

  • yarnはnpmの後発のパッケージマネージャー
  • facebookが開発
  • yarn の方が、パッケージのインストール速度が早い
  • yarn の方が、コマンドの記述が完結

yarnの方がメリットありそうだが、メジャーなjs系フレームワークのドキュメントやチュートリアルなどは、npmで記載されていることが多く、一般的に利用されているのは、npm。
まずは、npmを使う方がよさそう。

plaincode_jpplaincode_jp

パッケージのローカル/グローバルインストール

  • ローカル:
    • プロジェクトディレクトリの node_modules 配下にインストール
    • package.jsonに自動的に記載
    • プロジェクト単位でパッケージ管理したい場合、ローカルにする
  • グローバル:
    • システムディレクトリ(例:/usr/local/lib/node_modules)の node_modules 配下にインストール
plaincode_jpplaincode_jp

npm install コマンド

package.jsonの内容をもとにインストール

npm install

以下が実行される。

  1. package.json の内容を更新する
  2. package.json の内容をもとに node_modules のディレクトリにパッケージをインストールする
  3. node_modules に実際にインストールされたパッケージのバージョン情報が package-lock.json に記述される

パッケージのローカルインストール

カレントディレクトリ配下にインストールします

npm install パッケージ
// 省略形
npm i パッケージ

グローバルインストール

npm install -g パッケージ

オプション

// package.json に書き込まない
npm install パッケージ --no-save 

// package.json の dependencies に記録
npm install パッケージ --save

// テストツールなど開発者が使用するパッケージ。package.json の devDependencies に記録
npm install パッケージ --save-dev