ここでは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
https://www.storange.jp/2017/02/npm.html
https://www.storange.jp/2017/02/npm.html
npmでパッケージをインストールする
2017-02-06T22:13:00+09:00
https://www.storange.jp/2017/02/npm.html
Hideyuki Tabata
Hideyuki Tabata
200
200
72
72