Wie installiere ich Knoten und NPM, damit ich Sudo nicht benutzen muss?

7

Ich versuche Node.js und NPM auf einem Ubuntu 14.04-Rechner einzurichten, habe aber einige Probleme. Bei meinem ersten Versuch habe ich EACCES Fehler erhalten, wenn ich Pakete installieren wollte (manchmal sogar mit sudo ), also habe ich node und npm komplett deinstalliert. Jetzt versuche ich herauszufinden, wie man sie so installiert, dass ich nicht alles sudo ausführen muss und mir EACCES Fehler nicht geben kann.

Ich würde lieber nicht NVM verwenden, und abgesehen davon habe ich gerade eine Reihe von verstreuten Teilantworten gefunden, von denen einige sich widersprechen oder einfach eine etwas andere Syntax verwenden.

Ich würde wirklich etwas Hilfe bei diesem Thema schätzen. Ich habe gerade den Wechsel von Windows zu Linux gemacht und versuche mich einzurichten, damit ich wieder arbeiten kann.

    
Hal Carleton 19.01.2015, 22:54
quelle

1 Antwort

18

Das Problem, das einen EACCES auslöst, ist oft ein Berechtigungsproblem in zwei Ordnern:

Es könnte ein Berechtigungsproblem in Ihrem ~ / .npm-Verzeichnis geben.

Der vollständige Pfad zu Ihrem '~ / .npm' Verzeichnis ist '/Users/YOUR_USERNAME/.npm'; Es speichert verschiedene NPM-Funktionen. Der einfachste Weg, um zu Ihrem Home-Verzeichnis auf einem Unix-basierten System zu gelangen (ich glaube auch an Linux), ist "cd" einzugeben.

Es könnte auch ein Berechtigungsproblem für Ihre / usr / local / lib / node_modules auftreten.

Hier versucht npm, Ihre global installierten Module zu speichern. Dies ist die Version auf Systemebene des Ordners 'node_modules', die Sie in praktisch jedem node.js-Projekt finden, das Sie mit Abhängigkeiten erstellen und installieren.

Ich habe tatsächlich ein Node-Paket erstellt, das dieses Problem auf einem Mac lösen wird, obwohl ich mir bei Linux nicht sicher bin (weil die Pfade zu '.npm' und 'node_modules' unter Linux anders sein könnten), könntest du es geben ein Schuss? Es bekräftigt im Wesentlichen Sie als der Besitzer dieser Verzeichnisse.

Hier ist die github-Seite:

Ссылка (nur ein kurzer Hinweis, dass dieses Paket aufgrund eines seltsamen Build-Problems mit der osenv-Abhängigkeit veraltet sein könnte) / p>

Wenn Sie den Knoten neu installieren, können Sie versuchen, die Berechtigungen selbst mit diesen Befehlen zu ändern (was unter Linux funktionieren sollte):

sudo chown -R $(whoami) ~ / .npm

sudo chown -R $(whoami) / usr / lokal / lib / node_modules

HINWEIS: Ich bin nicht 100% sicher, dass die Pfade / usr / local / lib / node_modules und ~ / .npm für eine Linux-basierte Node / npm-Installation korrekt sind. Können Sie die vollständige Fehlermeldung posten, die Sie im Terminal erhalten?

    
yvanscher 19.01.2015, 23:18
quelle