Ім'я інтерпретатора NodeJS ( node
) в Ubuntu було перейменовано nodejs
через конфлікт імен з іншим пакетом. Ось що читає. Дебіан каже:
Ім'я висхідного потоку для команди інтерпретатора Node.js - "вузол". У Debian команду інтерпретатора було змінено на "nodejs".
Це було зроблено для запобігання зіткнення простору імен: інші команди використовують те саме ім'я у своєму потоці, наприклад, ax25-вузол з пакету "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
. Це свого роду хак.