NVM не может найти установленный бинарный файл Node, проблема с PATH на Linux Mint 17?

Вопрос или проблема

Я успешно установил NVM и Node, следуя официальным инструкциям. Мой файл .bashrc содержит

[ -s "/home/user/.nvm/nvm.sh" ] && . "/home/user/.nvm/nvm.sh"

Через некоторое время, возможно, день, я заметил, что Node больше нет. Поэтому я попробовал:

$ nvm use 0.10
N/A версия еще не установлена

Это странно, я знаю, что установил его с помощью nvm install 0.10, использовал его для запуска скрипта и нашел его здесь:

$ ls .nvm/v0.10.29/
bin  ChangeLog  include  lib  LICENSE  README.md  share

Так что всё выглядит правильно, но NVM просто не работает:

$ nvm install 0.10
mkdir: не удалось создать директорию ‘/etc/mdm/bin’: Доступ запрещён
Скачивание бинарного файла не удалось, пытаюсь загрузить из исходников.
Дополнительные параметры при компиляции: 
mkdir: не удалось создать директорию ‘/etc/mdm/src’: Доступ запрещён
nvm: установка v0.10.29 не удалась!

$ nvm deactivate
Не удалось найти /etc/mdm/*/bin в $PATH
Не удалось найти /etc/mdm/*/share/man в $MANPATH
Не удалось найти /etc/mdm/*/lib/node_modules в $NODE_PATH

Вывод показывает, что nvm пытается использовать директорию /etc/mdm/*, и это не имеет смысла. MDM — это менеджер дисплеев в Linux Mint. Есть идеи?

ОБНОВЛЕНИЕ:
только что проверил, похоже, что $NVM_DIR установлено на /etc/mdm. Возможно, поэтому всё идет не так, но не знаю, когда это было установлено или почему.

ОБНОВЛЕНИЕ 2(ИСПРАВЛЕНИЕ):

export NVM_DIR=/home/user/.nvm

это исправит эту проблему.

Из Настройки -> Настройки пакетов -> NodeJs -> Пользовательская настройка
Добавить:

{
// сохраните перед выполнением команд
"save_first": true,
// если присутствует, используйте эту команду вместо обычной "node"
// например, "/usr/bin/node" или "C:\bin\node.exe"
"node_command": "/usr/local/bin/node",
// То же самое для команды NPM
"npm_command": "/usr/local/bin/npm",
// как переменная окружения 'NODE_PATH' для выполнения node
"node_path": false,

"expert_mode": false,

"ouput_to_new_tab": false
}

Ответ или решение

Устранение проблемы с NVM, которая не может найти установленный Node в Linux Mint 17

Ошибка, с которой вы столкнулись, касается работы NVM (Node Version Manager) в вашей системе. Несмотря на то, что на первый взгляд все установлено корректно, решение проблемы требует несколько шагов для диагностики и исправления. Рассмотрим эту проблему более детально.

1. Изучение контекста проблемы

Ваша ~/.bashrc файл содержит правильные строки для инициализации NVM:

[ -s "/home/user/.nvm/nvm.sh" ] && . "/home/user/.nvm/nvm.sh"

Однако позже вы столкнулись с ошибками, указывающими на то, что переменная окружения $NVM_DIR была неправильно установлена на /etc/mdm, что является директорией вашего дисплейного менеджера. Это вызывало проблемы с доступом к установленным версиям Node.js.

2. Анализ переменной окружения $NVM_DIR

Прежде всего, стоит проверить, как у вас установлена переменная окружения $NVM_DIR. Вы можете сделать это, выполнив следующую команду в терминале:

echo $NVM_DIR

Если вы видите, что значение не соответствует ожидаемому "/home/user/.nvm", вам нужна следующая команда, которая вернет переменную в нужное значение:

export NVM_DIR=/home/user/.nvm

Эта команда установит правильный путь, позволяя NVM находить установленный Node.js. Чтобы избежать внесения этих изменений каждый раз при запуске терминала, добавьте строку для установки переменной $NVM_DIR в ваш файл ~/.bashrc:

export NVM_DIR="/home/user/.nvm"

Не забудьте применить изменения с помощью:

source ~/.bashrc

3. Проверка файловой структуры

Убедитесь, что структура папок и файлов в директории .nvm не нарушена. Для этого выполните:

ls -la ~/.nvm

Это поможет вам увидеть, есть ли там необходимые подкаталоги и установленные версии Node.js.

4. Переустановка Node.js

Если проблема не решается, попробуйте переустановить нужную версию Node.js. Убедитесь, что вы используете правильную версию NVM:

nvm install 0.10

Если возникают ошибки доступа, убедитесь, что вы используете терминал с правами, необходимыми для выполнения этих команд.

5. Дополнительные настройки для редакторов и IDE

По вашему описанию, также рекомендуется внести изменения в настройки редакторов, таких как Visual Studio Code. В настройках добавьте следующие параметры для корректного определения путей:

{
  // сохранить перед выполнением команд
  "save_first": true,
  // используемая команда вместо простой "node"
  "node_command": "/usr/local/bin/node",
  // аналогично для команды NPM
  "npm_command": "/usr/local/bin/npm",
  // не устанавливать переменную окружения NODE_PATH
  "node_path": false,
  "expert_mode": false,
  "output_to_new_tab": false
}

Заключение

Проблема с NVM, которая не может найти установленный Node, часто связана с неправильной настройкой окружения. Следуя приведенным выше шагам, вы сможете установить $NVM_DIR на правильное значение и восстановить доступ к установленным версиям Node.js. Надеюсь, это решение поможет вам в вашей работе с NVM и Node.js.

Оцените материал
Добавить комментарий

Капча загружается...