Я пытаюсь установить nodeJs в свой Ubuntu 14.04, чтобы использовать GruntJs.
Я читал о Ubuntu другим способом (проблемы?), так что это что я сделал для его установки:
sudo apt-get install npm
sudo npm install -g grunt-cli
Набрав grunt после этого, у меня есть ошибка:
/usr/bin/env: node: No such file or directory
Итак, я пробовал:
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs
sudo apt-get update
И попробовав снова и все еще получая ошибку, я пробовал:
sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/
sudo apt-get install -y nodejs
У меня есть это сообщение:
nodejs is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.
Я попытался очистить на всякий случай:
sudo apt-get autoremove
Но нет, ошибка все еще существует: когда я печатаю grunt, я все еще получаю /usr/bin/env: node: No such file or directory
Что мне делать?
Нашел ответ. На всякий случай это помогает кому-то, я размещаю его здесь:
Выполнение символической ссылки решает проблему: ln -s /usr/bin/nodejs /usr/bin/node
(Моя благодарность и +1 голос на bodokaiser).
ПРИМЕЧАНИЕ. Я думаю, что этот пост не является точным дубликатом, потому что этот пост был несколько вопросом браузера.
Проблема не с версией node. Вместо этого в Ubuntu по умолчанию установлен NodeJS. При запуске приложения node в ubuntu вам нужно запустить "nodejs somethign.js" вместо "node something.js"
Таким образом, имя приложения, вызываемое в терминале, - nodejs, а не node. Вот почему существует необходимость в символической ссылке для простого перенаправления всех команд, полученных как node на nodejs.
ln -s /usr/bin/nodejs /usr/bin/node
Я думаю, вы должны обновить последнюю версию node
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
n
- это не команда, связанная с Node.JS.
n
?
если вы можете получить доступ к node на терминале ubuntu с помощью команды nodejs, тогда эту проблему можно просто решить, используя -создание символической ссылки nodejs и node с использованием
ln -s /usr/bin/nodejs /usr/bin/node
и это может решить проблему
В моем случае установка nodejs-legacy решила проблему.
sudo apt-get install nodejs-legacy
Я обнаружил, что это часто ошибочная ошибка, если вы устанавливаете из диспетчера пакетов, вы можете вызывать узлы nodejs, поэтому вам просто нужно символически ссылаться на него.
ln -s /usr/bin/nodejs /usr/bin/node
Просто сделай
$ sudo apt-get install nodejs-legacy
И он начнет работать.
Если у вас уже установлены узлы (проверьте с помощью which nodejs
) и не хотите устанавливать другой пакет, вы можете с правами root:
update-alternatives --install /usr/bin/node node /usr/bin/nodejs 99
Когда я использовал gulp, я получил эту ошибку.
~$ gulp
/usr/bin/env: 'node: нет такого файла или каталога
Это было удалено, выполнив следующую команду, вы должны иметь в виду, что каталог /usr/bin имеет все разрешения.
~$ ln -s /usr/bin/nodejs /usr/bin/node
это работает для меня..
Хотя ln -s
является очевидным самым простым исправлением, часть объяснения:
Из-за конфликта с другим пакетом исполняемый файл из Репозитории Ubuntu называются nodejs вместо node. Держите это в когда вы используете программное обеспечение.
Этот совет появляется при установке sudo apt-get install nodejs
.
Итак, какой-то другой известный инструмент (я не знаю, что он делает. Хотя он известен репозиториям ubuntu, он не установлен по умолчанию в 16.04) занимает это пространство имен.
Было бы неплохо, если бы Ubuntu предложил совет, как исправить это "чисто", если не вручную, что в противном случае будет делать пакет. (столкновение остается столкновением... если +, когда это произойдет)
sudo PATH="$PATH:/usr/local/bin" npm install -g <package-name>
sudo apt-get install nodejs-legacy
создает эту ссылку, см. описание на packages.debian.org/sid/nodejs-legacy