Ubuntu: node: not found

Автор: | 12/19/2015
 

ubuntu_logo_130Во время билда возникает ошибка:

...
npm http 304 https://registry.npmjs.org/cryptiles

> phantomjs@1.9.19 install /home/vagrant/project/project-view/src/main/content/node_modules/grunt-svg2png/node_modules/phantomjs
> node install.js

sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! weird error 127
...

Проверяем:

# which nodejs
/usr/bin/nodejs

Создаем новый симлинк:

# ln -s /usr/bin/nodejs /usr/bin/node
# ls -l /usr/bin/node
lrwxrwxrwx 1 root root 15 Dec  9 08:56 /usr/bin/node -> /usr/bin/nodejs

Проверяем:

# which node
/usr/bin/node

Готово.

Причина

Путаница возникла из-за пакета Amateur Packet Radio Node Program, который в Ubuntu 12 (?) устанавливается под именем node. В связи с этим — бинарник node самого Node.js был переименован в nodejs.

Еще два варината решения, нагугленные позже.

Раз:

# update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

Два:

# sudo apt-get --purge remove node
# sudo apt-get --purge remove nodejs
# sudo apt-get install nodejs