Имя переводчика NodeJS (node
) в Ubuntu было переименовано nodejs
из-за конфликта имен с другим пакетом. Вот что читает. Debian говорит:
Вышестоящее имя для команды интерпретатора Node.js - «узел». В Debian команда интерпретатора была изменена на "nodejs".
Это было сделано для предотвращения конфликта пространства имен: другие команды используют то же имя в своем восходящем потоке, например, ax25-node из пакета "node".
Сценарии, вызывающие Node.js в качестве команды оболочки, должны быть изменены, чтобы вместо них использовать команду "nodejs".
Однако использование nodejs портит установку пакетов с помощью npm
. Установка пакета завершается с ошибкой:
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 понять, что nodejs уже установлен в системе, но имя интерпретатора другое?
ln -s nodejs node
в/usr/bin
. Это вроде взломать хотя.