2015-01-19 7 views
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 versucht wird, Pakete zu installieren (manchmal sogar mit sudo), so dass ich Knoten und Npm vollständig deinstalliert. Jetzt versuche ich herauszufinden, wie man sie so installiert, dass ich nicht alles sudo ausführen muss und mir EACCES Fehler nicht geben wird.Wie installiere ich Knoten und NPM, damit ich Sudo nicht verwenden muss?

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 einige Hilfe mit diesem zu schätzen wissen. Ich habe gerade den Wechsel von Windows zu Linux gemacht und versuche mich einzurichten, damit ich wieder arbeiten kann.

Antwort

18

Das Problem, das ein EACCES ist oft ein Problem mit den Berechtigungen auf zwei Ordner wirft:

Es gibt ein Problem Berechtigungen auf Ihrem ~/NPM-Verzeichnis sein könnte.

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 auf Ihrem/usr/local/lib/node_modules sein.

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 gemacht, das dieses Problem auf einem Mac lösen wird, obwohl ich nicht sicher über Linux bin (weil die Pfade zu '.npm' und 'node_modules' auf Linux anders sein können), könnten Sie geben es ein Schuss? Es bekräftigt im Wesentlichen Sie als der Besitzer dieser Verzeichnisse.

Hier ist die Github Seite:

https://github.com/yvanscher/fixmynode (nur eine kurze Notiz dieses Paket könnte mit der osenv Abhängigkeit wegen einer seltsamen Build Ausgabe veraltet)

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

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

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

HINWEIS: Ich bin nicht 100% sicher, dass die Pfade '/ usr/local/lib/node_modules' und '~/.npm' korrekt ist für einen Linux-basierten Node/npm installieren . Kannst du die volle Fehlermeldung posten, bekommst du im Terminal?

+2

Danke, ich musste am Ende "chown" auf "/ usr/local/lib/node_modules", "~/.npm" und "/ usr/lib/node_modules" ausführen. Ich muss noch 'sudo' für alle globalen Aktionen verwenden, was gut ist, aber abgesehen davon scheint alles reibungslos zu laufen. –

Verwandte Themen