#はじめに
最近、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:「編集」>「ルートユーザを有効にする」
2:鍵マーク(赤く囲んであるところ)クリックしてパスワード入力(おそらく、数分Macを触らなかった時に入力するパスでいいはず)
3:ログインオプションをクリックして、「接続」をクリック。その後、「ディレクトリユーティリティを開く...」をクリック
4:ここまでくると、先ほどと同様に鍵を外して、「編集」から「ルートユーザを有効にする」
しかし、ここで詰まる人がいるかもしれない!
「あれ、「編集」はどこだ!?」
メニューバーはその部分なのかぁぁ!(初心者発言申し訳ないです。。)
5:あとは、「編集」をクリックすると「ルートユーザを有効にする」があるので、そこでパスワード設定!
###設定後の挙動
$ su -
Password:
# npm install -g ejs
+ ejs@2.6.1
added 1 package from 2 contributors in 0.937s
プロンプトが「$」 →「#」になるとroot権限状態である証明
って感じで、成功した!!!
これから、微々たる一歩を積み重ねてゆきます。