Я просто хотел установить npm через терминал, и теперь я просто застрял с некоторыми зависимостями.
Он хочет, чтобы я установил несколько зависимостей, например:
libssl1.0-dev
nodejs-dev
node-gyp
Даже если я попытаюсь установить их в первую очередь, он скажет, что мне нужен предшественник раньше.
Последний случай зависимости - libssl-dev
, и это, кажется, уже установлено.
Цель состоит в том, чтобы установить npm для запуска этой электронной вилки в моей системе.
Спасибо за вашу помощь.
Сначала посмотрите, какой номер версии самый последний здесь: https://github.com/nodesource/distributions/tree/master/deb
В нашем случае это setup_9.x
sudo apt-get install python-software-properties curl
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install nodejs
Докажите, что теперь он установлен
npm -v
Источник: https://tecadmin.net/install-latest-nodejs-npm-on -ubuntu /
Редактировать : добавлен 'curl' к исходным зависимостям.
Узел и npm установлены с одной линией bash
.
Установка n , менеджера версий Node.js, на Unix-подобные платформы без необходимости сначала устанавливать Node.js. Кроме того, устанавливает скрипты n-update для последующего обновления по требованию n
и n-uninstall
для удаления.
Простейшим случаем является установка n с запросом подтверждения с последующей установкой последней версии LTS Node.js:
curl -L https://git.io/n-install | bash
Это, безусловно, самый простой способ начать работу как с n, так и с Node. .js - даже если вы хотите установить только последнюю версию LTS (долгосрочная поддержка) Node.js, без (немедленных) планов установки нескольких версий. Самое приятное, что вы можете обновить версию узла на лету. Это должен быть мой любимый инструмент для узлов. NVM похож, но мои предпочтения - n
.
Примечание. Этот ответ был обновлен с момента его первой публикации, поскольку теперь существует лучший способ установки последней версии npm, встроенной в пакет привязки узла для установки Node.js. После запуска приведенных ниже команд запуск npm -v
покажет, что последняя версия npm установлена и используется.
Node.js доступен в виде мгновенного пакета во всех поддерживаемых в настоящее время версиях Ubuntu. Специально для Node.js разработчики могут выбрать один из поддерживаемых в настоящее время выпусков и получать регулярные автоматические обновления непосредственно из NodeSource. В настоящее время доступны версии 6, 8, 9, 10, 11 и 12 Node.js, а Snap Store обновляется в течение нескольких часов или минут после выпуска Node.js.
Узел может быть установлен с помощью одной команды, например:
sudo snap install node --classic --channel 11/stable # also install snapd in 14.04
Доступ к привязке узла можно получить с помощью команды node
, например:
$ node -v v11.5.0
An актуальная версия npm будет установлена как часть привязки узла. npm должен запускаться за пределами узла repl в вашей обычной оболочке. После установки привязки узла выполните следующую команду, чтобы включить проверку обновления npm:
sudo chown -R $USER:$(id -gn $USER) /home/your-username/.config
Замените your-username
в вышеприведенной команде своим собственным именем пользователя. Затем запустите npm -v
, чтобы проверить актуальность версии npm. В качестве примера я проверил, что npm был обновлен, проверил версию уже установленного пакета с именем yarn с помощью команды npm list yarn
, а затем обновил существующий пакет yarn до последней версии с помощью команды npm update yarn
Пользователи могут переключаться между версиями Node.js в любое время, не прибегая к дополнительным инструментам, таким как nvm (Node Version Manager), например:
sudo snap refresh node --channel=10/stable
Пользователи могут тестировать новейшие версии Node. .js, который можно установить с самого последнего пограничного канала, который в настоящее время отслеживает версию 12 Node.js, переключив с помощью:
sudo snap switch node --edge
Этот подход рекомендуется только для тех пользователей, которые желают участвовать в тестировании и устранении ошибок. сообщение вверх по течению.
Release LTS Status Codename LTS Start Maintenance Start Maintenance End 6.x Active Boron 2016-10-18 April 2018 April 2019 7.x No LTS 8.x Active Carbon 2017-10-31 April 2019 December 2019 9.x No LTS 10.x Active Dubnium October 2018 April 2020 April 2021 11.x No LTS 2019-04-01 2019-06-30 12.x No LTS 2019-10-22 2021-04-01 2022-04-01
У меня была такая же проблема. libssl проблематичен, так как многие пакеты хотят иметь разные версии. Для меня главными источниками беспокойства являются Spotify, Viber, DotNet Core, php5.6 (устаревшая система).
В любом случае, это решение, похоже, сработало:
На основании ответа Джонатана Лидера, если вы посмотрите на загружаемый скрипт, то увидите, что в нем упоминаются 2 ключевых момента: хранилище и ключ.
По какой-то причине после запуска только этих команд, nodejs все еще ссылался на тот, что был в официальных репозиториях Ubuntu, и это была старая версия с противоречивыми требованиями для libssl.
Добавьте их вручную для получения надежных результатов (от имени root):
echo 'deb https://deb.nodesource.com/node_9.x artful main' > /etc/apt/sources.list.d/nodesource.list
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
После этого просто apt-get update
, а затем apt-get install nodejs
После этого у вас также будет npm. без установки чего-либо дополнительно.
Обратите внимание, что при этом устанавливается Nodejs 9.0, но я уверен, что тот же метод работает и для других версий. Вам просто нужно переключить номер версии в источнике хранилища в /etc/apt/sources.list.d/nodesource.list
Также вы можете использовать NVM. Это Node Version Manager, который позволяет очень просто переключаться между различными версиями Node. Просто выполните следующие команды:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
command -v nvm
Затем снова откройте свой терминал и выполните:
nvm install lts/*
Это загрузит исходный код Nodejs и сделает установку для вас.
Кроме того, одним из ключевых преимуществ NVM является возможность устанавливать глобальные пакеты без использования sudo
Если вам нужна дополнительная информация о NVM, проверьте их репозиторий Github: