npmとは
Node.jsの管理するためのツール。
Node.jsには多種多様なモジュールが存在するため、管理ツールとして作られた。
覚えるべきコマンド−基本編
初期化
npm init
プロジェクトを初期化するためのコマンド。
依存関係や汎用的な基本情報をもったpackage.jsonを作成するために使う。
いちいち決めるのが面倒くさい場合は、コマンドオプションとして-y
をつければ、枠だけ用意されているpackage.jsonが作成される。
npm init -y
パッケージのダウンロード
npm install {モジュール名}
Node.jsで公開されているモジュールをインストールする。
モジュール名を記載しない場合、コマンド実行したときのカレントディレクトリにあるpackage.jsonを元に、ライブラリをダウンロードする。
また、コマンドオプションとして、--save
、--save-dev
を使用すると、インストールしたモジュールがpackage.jsonに記述される。
インストールしたモジュールは、プロジェクト内でしか使えない。
しかし、Typescriptなどの汎用的なものをどこでも使えるようにしたい場合、-g
オプションを付与して、グローバル環境にインストールすることもできる。
グローバル環境にインストールされると、パスが通るため、何処でもコマンド実行することができる。
しかし、多様は厳禁!
グローバル環境にインストールしすぎると、管理ができなくなり、意図しない問題が発生する可能性が高い。
プログラミングと同じく、公開範囲は最小限にしておくのがいい。
覚えるべきコマンド−応用編
Help
このコマンドがなんなのか忘れるときがある。
IT系は覚えることがたくさんあるので、思い出すための方法は必ず覚える必要がある。
全部は覚える必要はない。
npmの全てのオプションは、以下のコマンドで確認できる。
npm help
特定のコマンドを知りたい場合は、下記のコマンドで確認できる
npm help {コマンド}
例えば、installコマンドを確認したい場合、npm help install
とすることで確認できる。
オートコンプリート
これも覚えることを減らすために必要になる。開発効率をあげるためにも必須。
npm completion >> ~/.bashrc source ~/.bashrc
これをすると、コマンドの入力補完が効くようになる。
例えば、npm ins
でTABを押すと、npm install
に補完される。
npmのバージョン管理
今のバージョン確認
npm -v
npmのアップデート
npm install -g npm
npmでnpmをインストールできるというのは、奇妙な話だができる。 npmを複数バージョン管理したい場合、nvmなどを使う必要があるが、今回の説明からは省略する。
npmのデフォルト設定
npm install -y
で設定されるデフォル値などを設定することができる。
npm config set init.auther.name {名前}
パッケージの検索
npms
プロジェクトをコミット頻度、カバレッジ、ドキュメント量などの複数の質でスコアのランク付けをしてくれる。
npm Discover
npm Discover · see what everyone else is using
パッケージと一緒に使われるパッケージを検索できる。
パッケージ管理
インストールしたものを確認する。
npm list
ただし、サブパッケージをすべて表示するため、情報過多で見たい情報が見れない時がある。
そんなときは、階層制限をかけてあげるといい。
npm list --depth=0
上記コマンドで、最上位階層のパッケージ内容だけ確認できる。
ホームページ
パッケージのドキュメントが見たい場合は、ヘルプを見てもいいが、より詳しい情報はホームページにあることが多い。
その場合は、下記のコマンドで見れる。
npm home {パッケージ}
Githumリポジトリ
npm repo {パッケージ}
ドキュメント参照
npm docs {パッケージ}
現在のバグ一覧
npm bugs {パッケージ}
パッケージの削除
個別で取り除く場合
npm uninstall {パッケージ}
全部取り除く場合
npm prune
依存パッケージのバージョン固定
デフォルト設定のnpmだと、npm install --save
では、メジャーバージョンの番号が固定される。
マイナーバージョンを固定したい場合
npm config set save-exact true
もしくは、shrinkwrapを使う。
npm shrinkwrap
shrinkwrapを使った場合、カレントディレクトリにnpm-shrinkwrap.jsonファイルが生成される。
このファイルは、package.jsonがあるときにnpm install
しても、npm-shrinkwrap.jsonの内容でインストールが行われる。
更新されたパッケージを見つける
npm outdated
パッケージの使えるバージョン確認
npm view {パッケージ} versions