Node vs Nodejs в Ubuntu 12.04: решение проблемы с командой

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Чтобы установить Node.js на Ubuntu, воспользуйтесь следующей командой:

Bash
Скопировать код
sudo apt-get install nodejs

В Ubuntu командное имя для Node.js изменено на nodejs для предотвращения конфликта с другим пакетом. Если вы хотите использовать привычное обозначение node, создайте символическую ссылку:

Bash
Скопировать код
sudo ln -s `which nodejs` /usr/bin/node # Это символическая ссылка на вашу службу!

Теперь вы можете запускать Node.js командой node, так как это стандарт для многих скриптов.

Кинга Идем в IT: пошаговый план для смены профессии

Конфликты имен и как их избежать

Конфликт между именами пакетов в Ubuntu возникает из-за существования пакета node, который не связан с Node.js. Чтобы избежать этого конфликта, в системе используется алиас nodejs.

Установка nodejs-legacy

Установка пакета nodejs-legacy создает ссылку с /usr/bin/node на /usr/bin/nodejs:

Bash
Скопировать код
sudo apt-get install nodejs-legacy # "Legacy" не означает "устаревший" или "плохой".

Таким образом, вы сможете использовать Node.js привычным способом, поскольку большинство инструментов ожидают именно node.

Выбор другого шелла

Если вы столкнулись с проблемами использования глобальных инструментов командной строки, попробуйте заменить оболочку bash на более современную, например, zsh:

Bash
Скопировать код
sudo apt install zsh # Добро пожаловать в шелл будущего, Z-shell
chsh -s $(which zsh) # bash, вы все еще в наших сердцах ❤️

Это может улучшить совместимость глобальных инструментов и упростить их использование.

При проблемах с командой node

Если команда node продолжает не работать несмотря на все ваши старания, проверьте путь к nodejs в /usr/sbin/ и /usr/bin/. В крайнем случае вы можете удалить и заново установить Node.js:

Bash
Скопировать код
sudo apt-get remove nodejs # До свидания, Node.js 👋
sudo apt-get install nodejs # С возвращением! 😄

Визуализация

Воспринимайте nodejs и node как два отдельных поезда на железнодорожной станции Ubuntu 12.04.

  • node — это экспресс: 🚄
  • nodejs — это электричка: 🚃

Обе команды запустят ваш Node.js скрипт, но команда node обычно более предпочтительна благодаря ее скорости и удобству в использовании.

Использование Node Version Manager (nvm)

Как и зачем использовать nvm

nvm — это инструмент, который значительно облегчает работу с различными версиями Node.js в разных проектах. Он позволяет без конфликтов устанавливать, использовать и управлять множеством версий.

Bash
Скопировать код
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # Установка nvm
nvm install 14 # Установка Node.js v14
nvm use 14 # Активация Node.js v14

Преимущества использования nvm

  • Поддержание изолированных версий Node.js
  • Возможность бесконфликтного обновления и отката версий без использования команды sudo
  • Гибкое управление версиями Node.js

Если команда node продолжает не работать

Альтернативные команды

Если node продолжает вызывать проблемы, запустите скрипт с помощью nodejs или выполните его через npm:

Bash
Скопировать код
nodejs script.js # Запуск с использованием nodejs
npm start # Запуск с помощью npm

Репозитории и версии операционной системы

Проблемы также могут быть связаны с ошибками в ваших репозиториях. Проверьте проблемы на Nodesource distributions. Убедитесь, что ваша версия операционной системы совместима и, по возможности, обновите Ubuntu и Node.js до последних версий.

Полезные материалы

  1. Загрузка и установка Node.js и npm | npm Docs
  2. GitHub – nvm-sh/nvm: Node Version Manager – управление версиями node.js через bash-скрипт
  3. Как установить Node.js на Ubuntu 18.04 | DigitalOcean
  4. apt – конфликты node.js: /sbin/node против /usr/bin/node – Ask Ubuntu
  5. Команды CLI | npm Docs
  6. apt get – В чем разница между node.js и node? – Stack Overflow
  7. Проблемы и решения · nodesource/distributions · GitHub