Пакеты глобальных узлов установлены в неправильном каталоге

Я пытаюсь установить Hexo глобально, используя npm. Когда я бегу npm install -g hexo-cliМне сообщили, что он был установлен на /Users/myusername/.node/bin/hexo -> /Users/myusername/.node/lib/node_modules/hexo-cli/bin/hexo

Проблема возникает, когда я бегу hexo init blog и команда hexo не найдена.

Я установил Node и npm с помощью Homebrew, поэтому при запуске which node а также which npm, результаты /usr/local/bin/node а также /usr/local/bin/npm соответственно.

Я думаю, что у меня все еще есть оставшиеся файлы и каталоги с момента, когда я установил Node без homebrew, но я не хочу начинать удалять вещи, не зная последствий. Могу ли я удалить все файлы, расположенные в /Users/myusername/.node/ каталог? Я не могу понять, почему npm не устанавливается в соответствующий каталог.

2 ответа

Решение

Немного покопавшись, я обнаружил, что моя префиксная переменная npm указывает на неправильный каталог, оставленный старой установкой Node. Я побежал npm config get prefix чтобы увидеть, куда он указывает.

Я установил новое значение префикса, используя npm config set prefix /usr/local, Доморощенный связан с этим каталогом через /usr/local/bin, Я удалил hexo-cli и переустановил через npm, и теперь он работает отлично.

Простой способ справиться с переменными среды / проблемами пути в Windows:

Команда запуска:

npm install -g hexo 

Использование командной строки node.js вместо cmd окна предоставляются самой Windows.

Для пользователей NVM

Бегать nvm use --delete-prefix v10.13.0 --silent замена v10.13.0 с любой версией узла, который вы используете.

Другие вопросы по тегам