NodebrewでNodeをインストールする際のPermission denied

NodebrewでNodeをインストールする際のPermission denied

はじめに

今回はnodeのバージョンを変更したかったので、nodebrew経由でnodeを入れ直そうとする際に
nodeのアンインストールは出来たものの、インストール時にPermission deniedが出ちゃった場合の対処法になります。
同じ様な状況の方がいれば助けになるかもしれません。

一連の流れに関して

とても参考になる記事(こちら)が既にあるので、全体的なnodebrew経由でnodeのインストールの流れはこちらを御覧ください。

Permission denied

上記で紹介した記事内で、brew install nodebrewを実行する際、

Permission denied @ dir_s_mkdir - /usr/local/ダウンロードされるフォルダ名

/**僕の場合**/
Permission denied @ dir_s_mkdir - /private/tmp/ダウンロードされるフォルダ名

上記の様な権限エラーが発生しました。

これを単刀直入に言うと下記のコマンドを叩く事によって解決しました。

sudo install -d -o $(whoami) -g admin /usr/local/

/**僕の場合**/
sudo install -d -o $(whoami) -g admin /private/tmp/

こちらで展開されている議論で取り上げられていた解決方法です。
installは(参考)

install はファイルをコピーし、そのアクセス権を設定する。 可能ならば所有者とグループを設定する。

-d, -o, -g オプションは

“-d, –directory”
指定されたディレクトリを作成する。 親ディレクトリが存在しない場合は、それも作成する。 所有者・グループ・モードを、コマンドラインで指定された設定、 またはデフォルトの設定にする。 このとき作成した親ディレクトリにも同じ属性を与える。

-o owner , –owner= owner
install が適正な権利を持っている (root で実行された) 場合、 インストールされたファイルやディレクトリの所有者を owner に設定する。 デフォルトは `root’ である。 owner はユーザー名でも数字のユーザー ID でもよい。

-g group , –group= group
インストールされたファイルやディレクトリの所有グループを group に設定する。 デフォルトではプロセスが属する現在のグループになる。 group はグループ名でも数字のグループ ID でもよい。

$(…)の意味は(参考)

Linuxでは、ドル記号と括弧で囲んだコマンドは実行結果を出力し展開されます。使い方としては、バッククォートとほぼ同じです。

ファイルのアクセス権・所有グループを変更していることがなんとなくわかります。(なんとなく…)

最後に

幅広い解決策を提供できていないと思いますが、
最低でもピンポイントで同じ問題が噴出している方にはヘルプになればと思います。

javascriptカテゴリの最新記事

%d人のブロガーが「いいね」をつけました。