初心者Macユーザーが陥りがちな「npm installの壁」を突破する


はじめに

最近、Node.jsをはじめようと思い、「Node.js超入門(第2弾)」という本を購入した。
そこで、見習いエンジニアの筆者は初めてnpmを使用することになり、EJSというテンプレートエンジンをインストールしようとしているところである。

この記事は、rootユーザーが未設定な人(あれ?rootってあんまり使った覚えないなw)って人向けです。

ターミナルで「npm install -g ejs」と打った時の挙動

$ npm install -g ejs
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
...

とりあえず、エラーになった。
このエラー内容を見てみると「missing write access to...」ということで権限関連のエラーであることがわかる。

で、思いついた私の考えは、、、

「root権限でインストールすればいいかも。」(初心者なので、「そんなの当たり前だろ!」とか言わないでw)

root権限にログインして、インストールする

$ su -
Password:
su: Sorry

ここで、突破すんなり入れた方は、安心してnpm install -g ejsを打てば良いだけ!!(お疲れ様です!)

ですが、この画面を見てもらえばわかるように、私はパスワードを忘れたのか!?(でも、rootのパスワード設定した覚えない。。)

そこで、解決方法を探った。すると出てきた答えは、「まず、root自体の設定をしてないのかも。。」

rootユーザーを有効にして、パスワード設定を行う!

1:Apple メニュー () >「システム環境設定」の順に選択し、「ユーザとグループ」(または「アカウント」) をクリックします。

2:鍵のアイコン をクリックして、管理者の名前とパスワードを入力します。

3:「ログインオプション」をクリックします。

4:「接続」(または「編集」) をクリックします。

5:「ディレクトリユーティリティを開く」をクリックします。

6:「ディレクトリユーティリティ」ウインドウの 鍵のアイコン をクリックして、管理者の名前とパスワードを入力します。

7:ディレクトリユーティリティのメニューバーから、以下のように選択します。

8:「編集」>「ルートユーザを有効にする」

詳細方法

1:「ユーザーとグループをクリック」

2:鍵マーク(赤く囲んであるところ)クリックしてパスワード入力(おそらく、数分Macを触らなかった時に入力するパスでいいはず)

3:ログインオプションをクリックして、「接続」をクリック。その後、「ディレクトリユーティリティを開く...」をクリック

4:ここまでくると、先ほどと同様に鍵を外して、「編集」から「ルートユーザを有効にする」

しかし、ここで詰まる人がいるかもしれない!
「あれ、「編集」はどこだ!?」

実は、ここなんですねw
          ↓

メニューバーはその部分なのかぁぁ!(初心者発言申し訳ないです。。)

5:あとは、「編集」をクリックすると「ルートユーザを有効にする」があるので、そこでパスワード設定!

設定後の挙動

$ su -
Password:
# npm install -g ejs 
+ [email protected]
added 1 package from 2 contributors in 0.937s

プロンプトが「$」 →「#」になるとroot権限状態である証明

って感じで、成功した!!!

これから、微々たる一歩を積み重ねてゆきます。