Ich habe versucht, npm zu installieren , und ich habe
npm ERR! Error: EACCES, Permission denied '/usr/local/lib/node_modules'
npm ERR!
npm ERR! Please use 'sudo' or log in as root to run this command.
npm ERR!
npm ERR! sudo npm "install" "." "--force" "--global"
npm ERR!
npm ERR! or set the 'unsafe-perm' config var to true.
npm ERR!
npm ERR! npm config set unsafe-perm true
Wie kann ich mich als Root anmelden?
sudo -s
ist viel einfacher als das Aktivieren des Root-Benutzers , da es nur eine Shell mit Root-Berechtigungen als One-Step-On-Demand-Aktion startet. Es ist nicht nur schnell, sondern muss auch nicht neu konfiguriert werden, wenn Sie den Root-Benutzer nicht benötigen, und setzt den Server nicht mehr Risiken oder Schwachstellen aus, die das Hinzufügen eines Root-Benutzers mit sich bringen würde.
Natürlich npm
könnten Sie einfach den Anweisungen folgen und Folgendes eingeben:
sudo -H npm "install" "." "--force" "--global"
Das macht den npm
Befehl immer noch zu "root" und überspringt den Abmeldeschritt, um wieder aus dem Root herauszukommen.
sudo -s
in diesem Zusammenhang bedeutet?sudo -s
führt eine Shell als root aus. Die Handbuchseite enthält diese Details und vieles mehr. Ich werde einige Worte hinzufügen, da Ihre Frage gut ist und viele andere sich vielleicht auch fragen, was sie bewirkt.Normalerweise mache ich es etwas anders als hier beschrieben. Stellen wir uns vor, Sie haben zwei Benutzer. Standardbenutzer: John Administratorbenutzer: Kevin
Wenn John angemeldet ist und als Root-Benutzer (als Kevin) ausgeführt werden möchte, gehe ich wie folgt vor.
su kevin
Wenn Sie gefragt werden, geben Sie Kevins Passwort ein
sudo npm "install" "." "--force" "--global"
Geben Sie Kevins Passwort erneut ein.
sudo
?Sie müssen den su
Befehl (switch user) verwenden, um root zu werden, aber nur root darf root werden, also müssen Sie sudo
(super-user do) verwenden. Geben Sie daher ein: sudo su
.
[william@NCC-1701 ~]$ sudo su
Password:
[root@NCC-1701 /Users/william]$
Wenn Sie root noch nie verwendet haben, sollten Sie sich darüber im Klaren sein, dass ein falsches Zeichen, das als root eingegeben wird, Ihr gesamtes Betriebssystem, einschließlich Ihrer Fotos, E-Mails und Finanzdokumente, löscht. Seien Sie äußerst vorsichtig und lesen Sie Ihre Eingabe immer dreifach, bevor Sie die Eingabetaste drücken. Ansonsten viel Glück!
sudo su
statt verwenden sudo -s
?Ich habe das gleiche Problem beim Versuch, ionic zu installieren, ausgeführt. Sie müssen nur denselben Befehl ausführen mit sudo
:
sudo npm install -g ionic cordova
Das System fordert das Passwort des aktuellen Benutzers an. Geben Sie es an, und Sie können es als Superuser installieren.
Abgesehen von dem, was die Leute gesagt haben, können Sie dies ausführen sudo <your-shell>
, um die Shell mit Root-Privilegien aufzurufen
sudo zsh
sudo -s
, wie in der akzeptierten Antwort erläutert?sudo -s zsh
, funktioniert abersudo zsh
Chris Page