Как установить nodejs 0.10.26 из двоичных файлов в Ubuntu

Я новичок в Linux и пытаюсь установить последнюю версию nodejs с бинарниками. Решения, которые я нашел, предлагают установку с помощью apt-get в некоторых частных репозиториях (PPA), которые я не хочу делать.

Итак, я выполнил следующие команды:

wget http://nodejs.org/dist/v0.10.26/node-v0.10.26-linux-x64.tar.gz
tar -zxvf node-v0.10.26-linux-x64.tar.gz
mv node-v0.10.26-linux-x64 node-v0.10.26
sudo cp -r node-v0.10.26 /usr/local/src

После этого я действительно не знаю, что делать. Я прочитал статью, в которой предлагалось создать символические ссылки, которые я как бы пугаю, чтобы испортить, не зная подробностей.

Не могли бы вы дать мне набор команд для запуска после этого, чтобы установить node с npm? Я предполагаю, что npm должен быть частью этой двоичной версии.

Ответ 1

Лучший способ установить Node.js и иметь последнюю версию (или любую другую версию, которую вы предпочитаете, будь то LTS или "текущий" ), - загрузить официальный бинарный пакет и распаковать его. Оптимальный способ сделать это:

# Use version 0.10.26
$ NODE_VERSION="v0.10.26"

# To use a newer version, for example 6.10.3, use instead:
$ NODE_VERSION="v6.10.3"

$ curl -LO http://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-x64.tar.gz
$ tar xzf node-$NODE_VERSION-linux-x64.tar.gz
$ sudo cp -rp node-$NODE_VERSION-linux-x64 /usr/local/
$ sudo ln -s /usr/local/node-$NODE_VERSION-linux-x64 /usr/local/node

Основная идея - переместить все содержимое архива в /usr/local, а затем создать символическую ссылку в /usr/local/node, указывая на самую последнюю версию.

Для включения использования исполняемого файла "node" из командной строки без ссылки на полный путь (/usr/local/node/bin/node) добавьте /usr/local/node/bin к вашему $PATH (обычно это включает в себя изменение ~/.bash_profile или ~/.profile file, там много документов для того, как это сделать).

Если вам нужно обновить Node.js(предположим, что это версия 7.10.0), то просто извлеките tarball в /usr/local и обновите символическую ссылку, чтобы она указывала на новую. Затем вы можете удалить старую папку.

Обновление от мая 2017 года

Как и в "Обновлении авторов", приведенные выше команды теперь могут работать и в Windows 10 с использованием "Подсистемы Windows для Linux" (через bash). На Ubuntu в Windows 10 после создания символической ссылки, как указано выше, добавьте папку в $PATH добавить PATH="/usr/local/node/bin:$PATH" в файл ~/.bashrc.

Ответ 2

Я объединил оба этих ответа для своего контейнера докеров. Я хотел, чтобы исполняемый файл был в PATH уже без меня, явно делая это.

#!/usr/bin/env bash
install_node() {
    NODE_VERSION="v8.3.0"

    curl -# "http://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-x64.tar.gz" | tar -xz
    cp -pr "node-${NODE_VERSION}-linux-x64" "/usr/local/"
    ln -s "/usr/local/node-${NODE_VERSION}-linux-x64" "/usr/local/node"
    ln -s /usr/local/node/bin/* "/usr/local/bin"
    rm -rf "node-${NODE_VERSION}-linux-x64"
}
install_node

Ответ 3

Вы можете извлечь двоичный файл в любом месте и использовать команду update-alternatives, которая поддерживает символические ссылки, определяющие команды по умолчанию, например, это на моем ноутбуке.

сначала я извлекаю свой узел node-v10.16.3-linux-x64.tar.xz в папку /mnt/e/WSL_Ubuntu/Downloads/node-v10.16.3-linux-x64/:

[email protected]:.../WSL_Ubuntu/Downloads$ tar xvf node-v10.16.3-linux-x64.tar.xz
[email protected]:.../WSL_Ubuntu/Downloads$ cd node-v10.16.3-linux-x64/

затем обновите альтернативы --install:

[email protected]:.../node-v10.16.3-linux-x64/bin$ sudo update-alternatives --install /home/wira/.local/bin/node node\
> /mnt/e/WSL_Ubuntu/Downloads/node-v10.16.3-linux-x64/bin/node 60
update-alternatives: using /mnt/e/WSL_Ubuntu/Downloads/node-v10.16.3-linux-x64/bin/node to provide /home/wira/.local/bin/node (node) in auto mode

Теперь я использую узел на терминале

[email protected]:.../node-v10.16.3-linux-x64/bin$ node --version
v10.16.3

Вы также должны обновить альтернативы --install в двоичных файлах npm.

Ответ 4

Я думаю, что есть еще более чистый способ

NODE_VERSION="v6.7.0"

# Download
curl -LO http://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-x64.tar.gz

# uncompress
tar xzf node-$NODE_VERSION-linux-x64.tar.gz

# selective copy
cp -R ./node-$NODE_VERSION-linux-x64/bin/* /usr/local/bin
cp -R ./node-$NODE_VERSION-linux-x64/lib/* /usr/local/lib
cp -R ./node-$NODE_VERSION-linux-x64/include/* /usr/local/include
cp -R ./node-$NODE_VERSION-linux-x64/share/* /usr/local/share

Node должен работать сейчас

$ node -e 'console.log("HI")'
HI

Надеюсь, что это поможет