0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

npm installで権限がどうのこうのエラーが出るの面倒なので変更してやった

Last updated at Posted at 2023-10-28

はじめに

自分の備忘録のためとアウトプットすることで記憶に残したいなと思ったため投稿するに至りました。
なのでゆるーく温かい目で見ていただければと思います。

やりたいこと

やりたいこととしては表題の通りです。
mac買いたてで環境構築が必要だったのですがnpm install ~ で毎回管理者エラーが発生していて、sudoとかで無理やりインストールしていました。

けどそれでは根本的解決になっていないなということでさすがに手を打って一応いけたっぽいので投稿として残すことにしました。qiitaデビュー👏

結果

terminal
sudo chown -R ユーザーとグループのID "/Users/ユーザー名/npm-temp"
npm cache clean --force

僕の場合はこのあとnpm install -g sassでsassがインストールできました。
ユーザーとグループのIDには僕の場合は数字が入っています。(〇〇〇:〇〇という形で)

プロセス

以下のとおりです。
基本chatGPTに聞いてます。
順を追って説明します。
yourusernameとyourgroupnameは各自のものに適宜変換して読んでください。
まずはじめに

terminal
npm install -g sass

コマンドを実行したところ、

terminal
The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

と表示されました。このファイルにアクセスする権限がないですと言われています。
chatGPTに対処法を聞いたところ下記を実行してくださいとのこと。

terminal
sudo chown -R $USER:$USER ~/.npm-global

↑はnpmにグローバルでインストールするときの権限を$USERにするみたいなのでログインユーザーならだれでもインストールできるようにする記述みたいです。

terminal
chown: 〇〇: illegal group name

〇〇はグループネームだと思うのですがそんなのないよと言われました。
illegal?って感じはしますが、存在しないよって意味で使ってるのだと思われます。
そこでGPTに聞くとユーザー名を確認したいらしく

terminal
echo $USER

でユーザー名を確認したのち

terminal
sudo chown -R yourusername:yourusername ~/.npm-global

を実行してくれとのことでした。
しかし、エラーが出ました。
実のところchatGPT的にはユーザー名とグループ名は同じになっていることが多いらしくecho $USERでユーザー名確認してsudo chown -R yourusername:yourusername ~/.npm-globalを実行したら権限変更できるやろって感じだったようです。
ただ僕の場合はユーザー名とグループ名が違ったようで。

terminal
groups

を実行してグループ名を確認した後、下記を実行。

terminal
sudo chown -R yourusername:yourgroupname ~/.npm-global

したのですが、

terminal
Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.

npmのキャッシュディレクトリが適切なアクセス権限を持っていないらしいです。
一時保存先にnpmがアクセスできないというふうに僕は解釈をしています。
最終的にchatGPTから"結果"にあるコマンドを実行し、

terminal
sudo chown -R ユーザーとグループのID "/Users/ユーザー名/npm-temp"
npm cache clean --force

↓を実行

terminal
npm install -g sass

で無事にインストールが完了したというわけです。

以上です。
ご覧いただきありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?