私はOSXを搭載したMacの管理者であり、rootユーザーを有効にしました。 Sudoを入力せずにターミナルを使用しようとすると、管理者としての特権が認識されないようですが、Sudoを入力してパスワードを入力すると正常に機能します。
また、/ etc/sudoersファイルでSudo権限を手動で付与しようとしましたが、それでもうまくいきません。
NPMを介してインストールを実行すると、「npm ERR!root/Administratorとしてこのコマンドを再度実行してみてください」というメッセージが表示されます。
これはなぜですか?どうすれば修正できますか?
これはOSXの標準的な動作です。管理者であっても、コマンドの前にSudo
を付けないと、yourホームディレクトリを除いて、/
の下に何も書き込むことができません。 Sudo
またはSudo su -
(ルートシェルへのアクセスを取得するため)を使用した場合でも、/usr
(/usr/local
を除く)、/bin
の下にあるものに変更を加えることはできません。ルートレスモード/ SIP(システム整合性保護)をリカバリモードから無効にせずに、/sbin
、/etc
など...コマンドcsrutil disable
を使用して無効にすることができます。ルートレスモードはOSX 10.11 ElCapitanの新機能であることに注意してください。それでもnpm
をSudo
で動作させることができない場合は、Sudo whoami
を使用してみて、root
が出力されることを確認し、Sudo -u root
を使用してください。
ああ....管理者になると、基本的にSudoの能力が得られますが、まだrootではありません。つまりあなたのアカウントはuid = 0ではありません。それが唯一のrootユーザーです。 3つの選択肢があります。
#1をお勧めします。