2016-07-08 22 views
3

Ich versuche, Hexo global mit npm zu installieren. Als ich npm install -g hexo-cli laufen bin ich darüber informiert, dass es zu /Users/myusername/.node/bin/hexo -> /Users/myusername/.node/lib/node_modules/hexo-cli/bin/hexoGlobale Knotenpakete, die in falschem Verzeichnis installiert wurden

Das Problem kommt installiert wurde, als ich laufen hexo init blog und der hexo Befehl nicht gefunden wird.

Ich installierte Knoten und npm mit Homebrew, so, wenn ich which node und which npm laufen, die Ergebnisse sind /usr/local/bin/node und /usr/local/bin/npm sind.

Ich denke, dass ich noch übrig gebliebene Dateien und Verzeichnisse von, wenn ich Node ohne Homebrew installiert habe, aber ich möchte nicht beginnen, Dinge zu löschen, ohne die Auswirkungen vollständig zu kennen. Würde ich sicher sein, alle Dateien im Verzeichnis /Users/myusername/.node/ zu löschen? Ich kann nicht herausfinden, warum npm nicht in das richtige Verzeichnis installiert.

Antwort

8

Nach ein wenig graben, fand ich, dass meine NPM-Präfix-Variable zeigte das falsche Verzeichnis, das von der alten Knoten-Installation zurückgelassen wurde. Ich lief npm config get prefix, um zu sehen, wohin es zeigte.

Ich setze den neuen Präfix-Wert unter Verwendung npm config set prefix /usr/local. Homebrew ist mit diesem Verzeichnis über /usr/local/bin verknüpft. Ich habe Hexocli deinstalliert und durch npm neu installiert, und jetzt funktioniert es perfekt.

+0

Ich hatte ein seltsames Problem, wo Dinge, die normalerweise in 'node_modules/bin' landen würden, in meinem Projektstammverzeichnis landen würden. Ein einfaches 'npm config delete prefix' hat das für mich behoben, danke! (keine Ahnung, woher das Präfix kam) – AlbinoDrought

0

Eine einfache Art und Weise mit Umgebungsvariablen/Pfadproblemen auf Windows zu bewältigen:

Run-Befehl:

npm install -g hexo 

Mit node.js Eingabeaufforderung statt cmd von Windows selbst bereitgestellt Fenstern.