Як встановити останні версії NodeJS та NPM?


203

На веб- сайті https://nodejs.org/ я помітив, що вузол зараз знаходиться в v 0.12.0.

Чи може хтось дозволити мені знати, як встановити останню версію вузла разом із npm (термінальні команди, будь ласка)?


1
Що не так sudo apt-get install nodejs?
АлікЕльзін-кілака

20
^ він встановлює 1.10.0.
siliconrockstar

6
@siliconrockstar, який фактично встановив v0.10.25 мого 14.04 LTS
Алессандро Косентіно

1
У використанні ubuntu 16sudo apt-get install nodejs-legacy
briankip

Відповіді:


253

Свіжа установка

Використовуйте PPA NodeSource. Детальніше дивіться в інструкції по встановленню . Спочатку виберіть потрібну версію Node.js і додайте для неї джерела:

v=8   # set to 4, 5, 6, ... as needed
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -

Потім встановіть пакет Node.js.

sudo apt-get install -y nodejs

PS: curlпакет повинен бути встановлений на сервері для цих кодових рядків.

Модернізація

Якщо ви nodejsвже встановили і хочете оновити, то спочатку видаліть поточну інсталяцію та встановіть її знову за допомогою сценаріїв, наведених вище.

sudo apt-get purge nodejs npm

1
NodeSource використовує два окремих PPA: один для версії 0.10.X та для 0.12.X. Крім того, він містить останній npm-пакет.
23W

11
не працювало для мене. Після запуску curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -та інсталяції nodejsя закінчивсяv0.10
Daithí

46
Скручуватися в кореневу оболонку так неправильно так багато способів.
Драко Атер

8
Відповідь Гасса нижче повинна була бути прийнятою відповіддю. Це не рекомендований спосіб зробити це.
Патрік Фабризіус

2
@AlexanderMills відповідь, подана нижче ( askubuntu.com/a/711976/389358 ), отримає останню версію nodejs від NodeSource - цей пакет включає в себе і останню версію npm.
Кіфер Рурк

166

Взагалі кажучи, завантаження довільних даних з URL-адреси в сеанс кореневої оболонки не є хорошою ідеєю, і я б хотів, щоб люди перестали розглядати це як рішення для всього - "Будь ласка, просто запустіть цей скрипт, який я надсилаю вам, а також поки ми" знову це - у мене є міст, який ви, напевно, зацікавили б придбати ".

Як альтернатива, ось "Ubuntu Way" зробити те саме, де ви можете бачити, як система оновлюється, і знати, які сховища та які ключі додаються до вашої конфігурації системи:

curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs

Це для останньої (на момент написання) версії Nodejs 7. Інші версії також можна отримати простою зміною URL-адреси репо-версії - детальну інформацію можна отримати в документації на nodesource.com.


2
Я повністю погоджуюся з вашим твердженням, але чи не додаєте до сховища нове сховище, те саме, що запускати якийсь невідомий сценарій? (Хоча я розумію сценарій і в будь-якій іншій відповіді тут, насправді додаю це репо само собою)
Dan

19
Сценарій додає РЕПО сам по собі, а також робить Бог знає, що. Зараз це може бути абсолютно доброякісним, але хто знає, що робитимуть викрадачі DNS або експлуататори веб-сайтів у майбутньому? Додавання РЕПО не є тим самим, як запуск сценарію в Інтернеті, оскільки сам по собі він не завантажує будь-який виконуваний код або запускає його - це буде робити це лише у відповідь на конкретну установку apt-get, яка підтвердить, що пакет був підписаний з ключем nodesource - який, сподіваємось, зберігається набагато безпечніше, ніж домен або веб-сайт nodesource. Захист APT є чудовим та має хороший досвід.
Гасс

1
@Dan, схоже, ви працюєте з Ubuntu 15.04 (utopic), який не підтримується Node Source, тому ви отримуєте 0,10 з сховищ utopic. Node Source підтримує лише випуски LTS та останні не-LTS. Оскільки ви не перебуваєте у випуску LTS, ви очікуєте оновлення до останньої версії, коли вона вийшла в жовтні минулого року. Тож або зробіть це, або зламайте це, змінивши $(lsb_release -c)біт автоматичного виявлення випуску на один із підтримуваних версій та вирішіть наслідки.
Гасс

2
@PaulDraper: Запитайте вузли, вони продають мости, якими вони не володіють. Моє apt-getрішення - прямий наркоз.
Гасс

1
приголомшлива відповідь! на випадок, коли хтось цікавиться, він просто працює на новіші версії - наприклад: просто замініть 7 на 9
Mihai Rotaru

34

Node.js v4.x:

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_4.x | bash -
apt-get install -y nodejs

джерело: https://github.com/nodesource/distributions#debinstall


13
Скручуватися в кореневу оболонку так неправильно так багато способів.
Драко Атер

25

Якщо ви хочете оновити всередині npm, ви можете скористатися nкомандою:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo npm install npm@latest

При цьому встановлюється n пакет, який ви можете використовувати для перемикання NodeJS-версій і використовує його. Порівняння з альтернативними параметрами NVM та команд є в SO . Також є публікація в блозі .


1
Я додав NVM поетапно за адресою: askubuntu.com/a/971612/52975
Ciro Santilli 新疆 改造 中心 法轮功 六四 六四

1
Я досить нова у npm та nvm; Я намагаюся встановити npm всередині python virtualenv; чи має значення я використовую npm чи nvm? nvm install lts/carbonвстановлює для мене npm та node. Чим це відрізняється від вищезазначених команд, якими ви поділилися?
kRazzy R

@kRazzyR: ви можете вибрати, використовувати nvmчи nоновити NodeJS та npm. В обох випадках ви використовуєте npmдля установки пакетів вузлів.
серв-інк


8

Щоб встановити NPM,

sudo apt-get install npm

Тоді для Node,

sudo npm cache clean -f
sudo npm install -g n
sudo n 0.xx.x  // here is the version what you want.. 

Ця команда встановить вузол на основі вашої версії, яку ви хочете ..


8

NVM (менеджер версій вузла)

https://github.com/creationix/nvm

NVM встановлює для вас як останній стабільний вузол, так і npm

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version

Тепер протестуйте його за допомогою пакета манекенів:

npm install --global vaca
vaca

Оскільки пошук джерел повинен бути виконаний для кожної нової оболонки, хакерський сценарій встановлення додає деякий автоматичний пошук у кінці вашого .barshrc. Це працює, але я віддаю перевагу видалити доданий автоматично та додати власний:

f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi

Переваги:

  • дозволяє використовувати декілька версій Node та без sudo

  • є аналогом Ruby RVM та Python Virtualenv, що широко вважається найкращою практикою у спільнотах Ruby та Python

  • завантажує попередньо складений двійковий файл, де це можливо, а якщо ні, він завантажує джерело і компілює його для вас

Ми можемо легко перемикати версії вузлів за допомогою:

nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9

Потім ви можете відслідковувати git- .nvmrcфайл, щоб вказати версію вузла, необхідну для даного проекту: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for проект / 54503474 # 54503474

Тестовано в Ubuntu 17.10.



4

Ви можете встановити останню версію дуже легко, використовуючи нижчу інструкцію.

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

Vesion 7.x - це остання версія вузла.

sudo apt-get install nodejs

Вище рядка буде встановлено nodejs.

sudo apt-get install - істотний

Це дозволить встановити необхідні модулі для належного виконання nodejs.

Тепер перевірте, чи правильно встановлені nodejs у вашому кінці

nodejs -v

Це поверне встановлену версію nodejs.

npm -v

Це поверне встановлену версію npm. Сподіваюся, це допомагає ....

Джерело: посилання покаже вам, як встановити nodejs, використовуючи деякі інші методи.


Навіщо встановлювати build-essential?
Девід Фоерстер

Пакет nodejs містить як дворядні, так і npm. Тим НЕ менш, для того , щоб деякі пакети НПХ для роботи (наприклад, ті , які вимагають будівлі від джерела), вам потрібно буде встановити збирання-ESSENTIALS пакет
Jitendra Pawar

4

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 

Оснастка вузла може отримати доступ за допомогою команди node, наприклад:

$ node -v  
v11.5.0

Оновлена ​​версія npm буде встановлена ​​як частина оснащення вузла. npm слід запускати поза відбитком вузла у вашій звичайній оболонці. Після встановлення оснащення вузла запустіть таку команду, щоб увімкнути перевірку оновлення npm:

sudo chown -R $ USER: $ (id -gn $ USER) / home / your-username /.config

Замініть your-usernameу наведеній вище команді власне ім'я користувача. Потім запустіть, npm -vщоб перевірити, чи версія оновлення npm оновлена. Як приклад я перевірив, що npm був npm list yarnоновлений , перевірив версію вже встановленого пакета з назвою пряжа з командою, а потім оновив існуючий пакет пряжі до останньої версії з командоюnpm update yarn

Користувачі можуть перемикатися між версіями Node.js в будь-який час, не вимагаючи використання додаткових інструментів, таких як nvm (Node Version Manager), наприклад:

sudo snap refresh node --channel=11/stable

Користувачі можуть протестувати крайні версії Node.js, які можна встановити з останнього крайового каналу, який в даний час відстежує версію 12 Node.js, перемикаючись з:

sudo snap switch node --edge

Такий підхід рекомендується використовувати лише тим користувачам, які бажають брати участь у тестуванні та повідомленні про помилки вище за течією.

Node.js LTS Розклад

Відпустіть кодове ім'я статусу LTS LTS Початок технічного обслуговування Початок технічного обслуговування Кінець
6.x Активний бор 2016-10-18 квітня 2018 квітня 2019 року
7.x Не LTS              
8.x Active Carbon 2017-10-31 квітня 2019 грудня 2019 року
9.x Ні LTS              
10.x Активний Dubnium жовтень 2018 квітня 2020 квітня 2021 року  
11.x Ні LTS 2019-04-01 2019-06-30
12.x 2019-10-22 2021-04-01 2022-04-01
13.x Ні LTS 2020-04-20 2020-06-01


3

Лише відкручування відповіді за допомогою @ 23W (прийнята відповідь).

Це лише вміст скрипту, просто щоб уникнути завивки кореневої оболонки.

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
echo "deb https://deb.nodesource.com/node_6.x $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src https://deb.nodesource.com/node_6.x $(lsb_release -c -s) main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list

sudo apt-get update
sudo apt-get install -y nodejs


2
//Download
cd ~/Downloads
wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz

//Install
cd /usr/local
tar --strip-components 1 -xJf ~/Downloads/node-v4.4.5-linux-x64.tar.xz

//Verify
node -v
npm version

Джерело


2

Мій улюблений спосіб встановлення останніх nodejs та npm - це використання архіву інсталяційних файлів, розміщених на веб-сайті nodejs.

Це також може швидко стати вашим новим улюбленим способом. Працює як шарм. Він включає 1 завантаження та 1 команду. Зроблено. НЕ помилок [кілька разів я це робив]. Не потрібно було заздалегідь видаляти наявні матеріали.

Встановлення вузлів через Бінарні файли


Спочатку видаліть встановлену версію: (якщо вона існує)

sudo apt-get remove nodejs

Завантажити

https://nodejs.org/en/download/stable/

Завантажте Linux Binaries.

  • Мені довелося витягнути tar.xz у папку, а потім повторно стиснути як tar.gz

Встановити

sudo tar -C /usr/local --strip-components 1 -xzf /path/to/downloaded/tar/node-vYOURVERSION-linux-x64.tar.gz

Перевірте

node -v
npm --version

Джерело

http://www.thegeekstuff.com/2015/10/install-nodejs-npm-linux/


1
Навіщо повторно стискати як tar.gz? tarпідтримує --xz- і -C /usr/localдозволяти tarробити це cdза вас.
муру

2

Відео Пояснення


NVM дуже простий в установці і дозволяє легко перемикати версії вузлів. З сховища github :

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

завантажує та запускає сценарій встановлення

nvm ls-remote

щоб побачити доступні версії. Скажіть, що ви хочете встановити версію 8.9.4

nvm install 8.9.4

і ви закінчили.

Щоб встановити іншу версію та використовувати її (скажімо, 9.6.1)

nvm install 9.6.1
nvm alias default 9.6.1

1

Оновити Менеджер пакунків

sudo apt-get update

Додавання PPA NodeJS

sudo apt-get install python-software-properties
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

Встановлення NodeJS та NPM

sudo apt-get install nodejs

Тут я написав повну публікацію в блозі про встановлення NodeJS та NPM в Ubuntu. Натисніть тут, щоб прочитати


Закрутившись в кореневу оболонку - це дуже погано, що потрібно робити взагалі для величезної кількості проблем безпеки, які це відкриває, я б рекомендував оновити свою публікацію в блозі та свою відповідь, щоб цього не робити.
shuttle87

1

Такий підхід дозволяє легко видаляти Node.JS, зберігати різні версії та надавати команди всім користувачам системи.

Завантажити стабільну версію від Node.js , розархівуйте його, і перемістити його в /opt.

Якщо ви хочете встановити різні версії, ви можете перейменувати папку відповідно до коду її версії:

/opt/node/6.9.1

Оскільки тільки root може змінювати файли в /opt/, якщо ви не бажаєте викликати виклик sudoкожного разу, коли вам потрібно змінити файл, змініть дозвіл групи:

chgrp adm -R /opt/node/10.15.3

Потім створіть файл, /etc/profile.d/node.shякщо такий вміст:

export NODE_HOME=/opt/node/10.15.3

export CPLUS_INCLUDE_PATH=${NODE_HOME}/include
export C_INCLUDE_PATH=${NODE_HOME}/include
export LD_LIBRARY_PATH=${NODE_HOME}/lib
export MANPATH=${NODE_HOME}/share/man:${MANPATH}

export PATH=${NODE_HOME}/bin:$PATH

Вихід та вхід у систему та X-Window перезавантажать усі конфігурації профілю.

Якщо у вас були встановлені попередні версії, щоб уникнути конфліктів з бібліотекою:

npm cache clean

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.