はじめに

npmって一体どのようなものなのか、どのように扱っていいのか分からないというnpm初心者の方に向けて、npmの基礎を徹底的に解説していきます。

さらに、インストール方法やよく使用されるコマンド・パッケージなどについても説明していきたいと思います。

それでは見ていきましょう。


npmについて

「npm」とは、「Node Package Manager」の略称で、2010年にリリースされたJavaScript開発者向けのパッケージ管理ツール

また、自身が必要とするパッケージを検索したり、自身が開発したパッケージを共有したりできます。

Node.jsをインストールするとnpmもインストールされることから、npmとNode.jsは非常に関連性が高いです。


Node.jsについて

「Node.js」とは、サーバーサイド用のJavaScriptアプリケーションのプラットフォームです。


Node.jsの特徴とは?

Node.jsの主な特徴は以下の通りです。

  • 非同期処理により処理が速い
  • 「V8」エンジンを利用されているため処理が非常に速い
  • シングルスレッドのためメモリ消費の効率が良い


Node.jsのメリット

Node.jsを使用するメリットは以下の通りです。

  • 大量アクセスにも耐えることが可能かつ高速処理を実現
  • メモリ消費量を抑えることが可能
  • 読みやすいプログラムを設計することが可能
  • フロントエンドからサーバーサイドに至るまでJavaScriptだけで記述可能


Node.jsにおけるnpmの役割とは?

Node.jsにおけるnpmの役割は以下の通りです。

  • パッケージのインストール補助
  • パッケージのバージョン管理

package.jsonについて

「package.json」は、npmを使用してパッケージをインストールする場合に、バージョン情報などを格納

別開発環境で作業を行う場合やチームで同一環境を使用して開発する場合に便利なファイルです。

package.jsonはJSONファイルですので、自身でゼロから作ることも可能ですが、「inti」コマンドを使用することで容易に作ることも可能です。


npmの特徴や機能について

npmの特徴は以下の通りです。

  • JavaScriptで書かれたプログラム
  • node.jsパッケージ管理システム
  • パッケージのバージョン管理・インストール補助に使用
  • サーバーサイドで動く

npmの主な機能は以下の通りです。

  • ヘルプ機能
  • バージョン表示
  • パッケージのインストール
  • インストール済みのパッケージ一覧表示
  • パッケージのアップデート
  • パッケージのアンインストール


npmのメリットについて

npmを使用するメリットについて説明してきます。


オープンソースにしやすい

元々npmは、パッケージのコードを複数プログラマでオープンソースで管理することが可能なように生成されています。

npmに関して学習して使いこなすことが可能となれば、既存パッケージだけではなく、自身で制作しているコードをチームで共有しながら開発することが可能です。


インストール・アンインストールが容易

npmのインストールは「npm install」と入力してコマンドを実行するだけで、容易にパッケージをインストールすることが可能です。

また、アンインストールに関しても「npm uninstall」と入力してコマンドを実行するだけで、容易にアンインストールもできます。


npmのインストール方法について

npmは、Node.jsをインストールすれば利用することが可能です。

Mac・Windowsでのインストール方法を紹介していきます。


Mac

Macの場合は、下記のコマンドでインストール。

  1. # 最新版
  2. $ nodebrew install-binary iatest
  3. # 安定版
  4. $ nadebrew install-binary stable 

万が一、「Warning:Failed to create the file」が表示された際には、下記のコマンドを実行して再びインストールのコマンドを実行しましょう。

  1. $ mkdir -p -/ .nodebrew/src 


Windows

Windowsにnpmをインストールする場合は以下の通りです。

  1. 「https://nodejs.org/en/」からインストーラーをダウンロード
  2. ダウンロードしたインストーラーを実行

npm –version 

上記のコマンドを実行して、npmがインストールしているか確認しましょう。


npmの使い方について

ここでは、npmの使い方について説明していきます。


パッケージをインストール

コマンドの中で、最も利用する頻度が多いのが「install」でしょう。

パッケージのインストールにはローカルインストールとグローバルインストールの2種類存在しますので、それぞれ説明していきます。

下記のように実行すると「Express」パッケージをローカルインストールすることが可能です。

  1. ?npm install express 

コマンドとしては「npm install パッケージ名」と記述するだけですので、誰でも容易に記述することができます。

下記のように、「@」の後に続けてバージョンを書くと、目的のバージョンを直接指定してインストールすることが可能です。

  1. ?npm install express@4.17.1 

上記のように実行すると「4.17.1」のバージョンをインストールすることが可能です。

パッケージのバージョン番号は「 . (カンマ)」で区切って表現しており、それぞれ「メジャー番号.マイナー番号.パッチ番号」という意味があります。

パッチ番号は、リビジョン番号やビルド番号とも呼び、それぞれ以下のような役割があります。

  • 「メジャー番号」ユーザーエクスペリエンスといった大規模な仕様の変更
  • 「マイナー番号」バグフィックスなどの小さい変更や機能の追加や削除
  • 「パッチ番号」自動で発番されるなど使用方法の幅が広く、バグフィックスで使用されることもあります

「-g」オプションを付けることでグローバルインストールすることもできます。

グローバルインストールすることによって、PATHを指定する必要もなくコマンドを実行することができるようになります。

  1. npm install -g パッケージ名


ヘルプを表示

ヘルプを表示する場合は、下記の通りです。

  1. npm help
  2. npm help install
  3. npm help install -l 


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

モジュールのアンインストール、下記のようにローカルディレクトリから行います。

  1. npm uninstall モジュール名 

グローバルからアンインストールするには下記の通りです。

  1. npm uninstall -g モジュール名


npmリポジトリ検索

npmのリポジトリを検索する場合は、下記のように実行します。

  1. npm search キーワード 


オプション

package.jsonファイルのパッケージ依存関係のタイプを、下記のように指定することが可能です。

  • 「-p/–save-prod」デフォルト
  • 「-D/–save-dev」開発環境
  • 「-O/–save-optional」スキップ
  • 「–no-save」パッケージ管理の除外

上記のオプションを使用してpackage.jsonに依存関係を保存する際に、下記のように2つの追加オプションフラグがあります。

  • 「-B/–save-bundle」登録されていないパッケージ管理
  • 「-E/–save-exact」バージョン固定


npmのコマンド一覧

npmのコマンド一覧を表にまとめてみたので見ていきましょう。

コマンド説明
npm –version
npmが入っているか確認
node -v
Node.jsが入っているか確認
npm inti
package.jsonを作成

npm install パッケージ名


npm i パッケージ名

指定したパッケージをインストール

npm install –save パッケージ名


npm install -save パッケージ名


npm install -s パッケージ名

インストールしたパッケージ情報を自動でpackage.jsonに書き込む
npm install
パッケージ名を入力しないで実行するとpackage.json内容に従いパッケージをインストール

npm uninstall パッケージ名


npm un パッケージ名


npm unlink パッケージ名


npm rm パッケージ名


npm r パッケージ名

アンインストール
npm list
パッケージインストールのリスト
npm list -g

グローバルインストールされているモジュールリスト


npmのよく使用されるコマンドについて

ここからは、npmでよく使用するコマンドを紹介していきます。


npm install

Node.js用のモジュールをインストール。

インストールした際、「–save」オプション・「–save–dev」オプションを使うと、インストールしたライブラリが「package.json」に記述。

  1. $ npm install モジュール名 

上記のモジュール名を省略した際、package.jsonに書いてある依存ライブラリをインストール。

また、「-g」オプションを付けるとグローバルインストールとなります。

そのため、PATHが通りやすくなり、モジュールのコマンドを行えるようになります。

  1. $ npm install -g mocha //テストフレームワークをグローバルインストール
  2. $ mocha -h //mochaコマンドを実行可能 


npm inti

依存ライブラリ・プロジェクトの基本となる情報を記述する「package.json」を作るためのコマンドです。

名前・Gitリポジトリといった必要な情報を入力すると「package.json」を作ります。

  1. $ nom inti 

「package.json」を共有すれば、他の環境でもnpmを使用することができ、依存ライブラリをインストールすることができます。


npm publish

自作のNode.js用のモジュールを公開する際に使います。

「Create an Account」でnpmアカウントを作り、publishコマンド・addUserコマンドを実行。

  1. $ cd 自作モジュールPATH$ npm adduser //登録したnpmアカウントの情報を入力
  2. $ npm publish //モジュールアップして公開 


npmでよく使用されるパッケージについて

npmでよく使用されているパッケージは以下の通りです。

パッケージ

説明
lodash
JavaScriptで関数型プログラミングする際に使用するモダンユーティリティライブラリ
express
オープン・高速・軽量なNode.jsのためのWebフレームワーク
chalk
簡単にターミナルに表示する文字列スタイルを指定
request
httpコールを簡素作成するためのライブラリ
async
非同期処理を簡素なAPIで記述可能
bluebird
Promiseを実現するためのフレームワーク
commander
CLIツールを作成するためのフレームワーク
fs-extra
Node.jsにデフォルトで存在するfsモジュールに含まれていないファイルシステム関連のメソッドを追加するモジュール
debug
Node.js・Webブラウザで動作する軽量デバッグユーティリティ


まとめ

  • Node.jsのパッケージ管理ツール
  • 高速処理
  • メモリ消費量の効率化
  • インストールが容易
  • よく使用されるコマンドは「npm install」「npm inti」「npm publish」

npmの基礎知識がだいたい身に付いたと思います。

本記事で紹介した使い方以外にもnpmの使い方はたくさんあります。

ぜひ自身で体験して、うまく活用してみてください。


toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。

エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。