“Никакой такой файл или каталог” ошибка при использовании npm

Я установил узел и npm использование инструкций, предоставленных здесь

Я смог использовать узел успешно. Однако, поскольку я пытаюсь установить "Солидный" модуль узла, я получаю следующую ошибку:

$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory

Когда я делаю a which npm Я получаю следующий вывод:

$which npm
/usr/local/bin/npm

У меня нет подсказки обо что не так с npm здесь - какая-либо идея о том, как я могу зафиксировать это?

34
задан 3 February 2013 в 22:41

4 ответа

Похоже, что вы установили другую версию Node из исходного кода ранее. На это указывает путь /usr/local/bin, где он, кажется, установлен сейчас.

  1. Удалите тот, который вы установили из источника. Смотрите инструкции, которые есть с источником, как это сделать. Не существует единого способа удаления установленных программных сценариев, которые не работают с управлением пакетами вашей системы.
  2. Установленные пакеты перечислены в инструкциях, которые вы указали в своем вопросе.
  3. Убедитесь, что which npm теперь указывает /usr/bin в качестве пути установки.

В общем случае вам никогда не придется устанавливать пакеты из исходного кода. И если вы это сделаете, пожалуйста, помните о последствиях, так как вы переопределяете управление пакетами здесь, и оно может запутаться.

0
ответ дан 3 February 2013 в 22:41

Используя подсказку @gertvdijk, я удалил NPM, используя скрипт:

rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*

(который можно найти здесь )

Даже после выполнения вышеизложенного, я получил еще одну ошибку:

$ npm install formidable  
bash: /usr/local/bin/npm: No such file or directory

Итак, я запустил hash -r в терминале (согласно инструкциям из NPM не будет работать после обновления ) и вуаля - все заработало. NPM теперь работает!

0
ответ дан 3 February 2013 в 22:41

Ubuntu и некоторые дистрибутивы Linux устанавливают интерпретатор узла как /usr/bin/nodejs, а не /usr/local/bin/node.

Вы можете решить эту проблему, установив пакет nodejs-legacy, который создает символическую ссылку от /usr/bin/nodejs до /usr/bin/node.

Решение:

sudo apt-get install nodejs-legacy

Ссылки: nodejs-legacy package

0
ответ дан 3 February 2013 в 22:41

шаг 1: запустить npm -v o/p: Ошибка: bash: /usr/local/bin/npm: Нет такого файла или каталога

Шаг 2: запустить какой npm o/p: /usr/bin/npm

шаг 3: запустите hash -r, затем запустите npm -v о/п: 3.5.2

6
ответ дан 9 December 2020 в 12:47

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

Похожие вопросы: