npmでパッケージをインストールする

ここではnpmをつかったパッケージのインストールについて,ローカルとグローバルの違い,EACCESエラーの対処法を交えて紹介する.

ローカルとグローバル

npmでパッケージをインストールする際,ローカルグローバル,2つの方法を選べる. パッケージをモジュールとして利用したい場合(Node.jsで言うrequireなどしたい場合)はローカルでインストールしよう. 一方,コマンドラインツールとして利用したい場合はグローバルでインストールしよう. さて,ローカルでインストールする場合は次の様にする. npm install "パッケージ名" 至ってふつうである. グローバルでパッケージをインストールしたい場合は-gオプションをつける. npm install "パッケージ名" -g ここでもし,インストールの際にEACCESエラーが表示したら,sudoで実行すれば問題無くインストール出来る. こんな風に... sudo npm install "パッケージ名" -g しかし,npmの公式サイトではそれを推奨していない. その代わり,次の手順によりnpmの使っているディレクトリのパーミッションを変更することをおすすめしている.

パーミッション変更

まずはnpmがどこを使っているか,ディレクトリを確認. npm config get prefix "/usr/local"と表示されるはず. もしここで"/usr"としか表示されない場合は下の方法を参照("/usr"な人の欄). "/usr/local"な人は次のコマンドでパーミッションを変更. sudo chown -R \$(whoami) \$(npm config get prefix)/{lib/node_modules,bin,share} これでnpmやその周辺ツールが使用するディレクトリ達のパーミッションを変更できた. sudoなしでパッケージのインストールができるようになったはず.

"/usr"な人

"/usr"ディレクトリのパーミッションを変更すると何かと都合が悪い(特に複数ユーザーで利用している場合など). そこで,"/usr"のパーミッションを変更する代わりに,ホームディレクトリ直下にnpm用のディレクトリをつくり,そこを利用することを公式サイトは推奨している. まずはディレクトリを作成. mkdir ~/.npm-global 続いてディレクトリの位置をnpmに知らせる. npm config set prefix '~/.npm-global' .profileファイルを作成. touch ~/.profile .profileを編集(nanoで無くてもお気に入りのエディタでどうぞ). nano ~/.profile 次の一行を挿入.

~/.profile

export PATH=~/.npm-global/bin:$PATH ターミナルを再起動するか,次のコマンドを入力して設定を適用. source ~/.profile これで良し.
8774563883862933775 http://www.storange.jp/2017/02/npm.html http://www.storange.jp/2017/02/npm.html npmでパッケージをインストールする 2017-02-06T22:13:00+09:00 http://www.storange.jp/2017/02/npm.html Hideyuki Tabata 200 200 72 72