當前位置: 首頁>>技術問答>>正文


如何在Ubuntu上安裝特定版本的Node?

, ,

問題描述

我想在Ubuntu 12.04上安裝NodeJS版本0.8.18。我嘗試安裝最新版本,然後使用nvm恢複到0.8.18,但是當我運行我的代碼時,顯然安裝的軟件包和兩個版本(最新版本和0.8.18)存在一些問題。由於我不知道如何解決這個問題,我從Node安裝中清理了機器,並考慮直接安裝我感興趣的版本(v0.8.18)。

最佳解決辦法

Chris Lea的ppa回購中有0.8.23。

該軟件包允許您向apt-get添加存儲庫:(您也可以手動執行此操作)

sudo apt-get install software-properties-common

添加Chris Lea的存儲庫:

sudo apt-add-repository ppa:chris-lea/node.js-legacy

更新apt-get:

sudo apt-get update

安裝Node.js:

sudo apt-get install nodejs=0.8.23-1chl1~precise1

如果您隻添加node.js-legacy,我認為(隨意編輯)版本號是可選的。如果同時添加legacy和ppa /chris-lea /node.js,則很可能需要添加該版本。

次佳解決辦法

可以使用dpkg從nodejs官方分發安裝特定版本的nodejs。

例如,目前最新的4.x版本是4.2.4,但您可以安裝以前的4.2.3版本。

curl -s -O https://deb.nodesource.com/node_4.x/pool/main/n/nodejs/nodejs_4.2.3-1nodesource1~trusty1_amd64.deb
sudo apt-get install rlwrap
sudo dpkg -i nodejs_4.2.3-1nodesource1~trusty1_amd64.deb

第三種解決辦法

n模塊為我工作。

運行此代碼以清除npm的緩存,安裝n,並安裝最新的穩定版Node:

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

參見:http://www.hostingadvice.com/how-to/update-node-js-latest-version/和:https://www.npmjs.com/package/n

要安裝特定版本的節點:

sudo n 6.11.2

要查看哪個版本:

node -v

您可能需要重新啟動

第四種辦法

試試這種方式。這對我有用。

  1. wget nodejs.org/dist/v0.10.36/node-v0.10.36-linux-x64.tar.gz(download file)

  2. 轉到下載Node.js二進製文件的目錄,然後運行命令即sudo tar -C /usr /local –strip-components 1 -xzf node-v0.10.36-linux-x64.tar.gz以安裝Node.js二進製文件包裝在“/usr/local/”中。

  3. 你可以查一下: –

    $ node -v
     v0.10.36 
    $ npm -v
     1.4.28
    

第五種辦法

NVM(節點版本管理器)

在Ubuntu 17.10中測試過:

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
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

對於最新的長期支持版本的特定情況(如果您可以選擇,建議使用):

nvm install --lts
nvm use --lts
npm --version
npm install --global vaca
vaca

由於必須為每個新shell完成采購,您可能需要將以下內容添加到.bashrc

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社區的最佳實踐

  • 盡可能下載pre-compiled二進製文件,如果沒有,則下載源代碼並為您編譯一個

第六種辦法

版本0.10也適用於此ppa

apt-add-repository ppa:chris-lea/node.js

安裝nodejs:

apt-get install nodejs=0.10.25-1chl1~precise1

感謝我的朋友Julian Xhokaxhiu

第七種辦法

NOTE: you can use NVM software to do this in a more nodejs fashionway. However i got issues in one machine that didn’t let me use NVM. So i have to look for an alternative 😉

您可以手動下載和安裝。

轉到nodejs>下載>其他版本http://nodejs.org/dist/

選擇您要查找的版本http://nodejs.org/dist/v0.8.18/

選擇與您的環境相對應的發行文件並下載(照顧32位/64位版本)。示例:http://nodejs.org/dist/v0.8.18/node-v0.8.18-linux-x64.tar.gz

提取文件並按照README.md上的說明操作:

To build:

Prerequisites (Unix only):

* Python 2.6 or 2.7 * GNU Make 3.81 or newer * libexecinfo (FreeBSD and OpenBSD only) 

Unix/Macintosh:

./configure make make install 

If your python binary is in a non-standard location or has a non-standard name, run the following instead:

export PYTHON=/path/to/python $PYTHON ./configure make make install 

Windows:

vcbuild.bat 

To run the tests:

Unix/Macintosh:

make test 

Windows:

vcbuild.bat test 

To build the documentation:

make doc 

To read the documentation:

man doc/node.1 

也許你想(必須)將文件夾移動到更合適的位置,如/usr/lib/nodejs/node-v0.8.18/,然後在/usr /bin上創建一個Symbolic Lynk,以便從任何地方訪問您的安裝。

sudo mv /extracted/folder/node-v0.8.18 /usr/lib/nodejs/node-v0.8.18
sudo ln -s /usr/lib/nodejs/node-v0.8.18/bin/node /usr/bin/node

如果你想在同一台機器上使用不同的版本,你可以使用debian替代品。按照之前發布的相同方式繼續下載第二個版本。例如最新版本。

http://nodejs.org/dist/latest/ – > http://nodejs.org/dist/latest/node-v0.10.28-linux-x64.tar.gz

移動到您最喜歡的目的地,與您要安裝的其餘版本相同。

sudo mv /extracted/folder/node-v0.10.28 /usr/lib/nodejs/node-v0.10.28

按照README.md文件的說明進行操作。然後更新備選方案,對於每個版本,您都有下載安裝替代方案。

sudo update-alternatives    --install genname symlink  altern  priority  [--slave  genname  symlink altern]
          Add a group of alternatives  to  the  system.   genname  is  the
          generic  name  for  the  master link, symlink is the name of its
          symlink  in  the  alternatives  directory,  and  altern  is  the
          alternative being introduced for the master link.  The arguments
          after  --slave  are  the  generic  name,  symlink  name  in  the
          alternatives  directory  and alternative for a slave link.  Zero
          or more --slave options, each followed by three  arguments,  may
          be specified.

          If   the   master   symlink  specified  exists  already  in  the
          alternatives system’s records, the information supplied will  be
          added  as a new set of alternatives for the group.  Otherwise, a
          new group, set to  automatic  mode,  will  be  added  with  this
          information.   If  the group is in automatic mode, and the newly
          added alternatives’ priority is higher than any other  installed
          alternatives  for  this  group,  the symlinks will be updated to
          point to the newly added alternatives.

例如:

sudo update-alternatives --install /usr/bin/node node /usr/lib/nodejs/node-v0.10.28 0 --slave /usr/share/man/man1/node.1.gz node.1.gz /usr/lib/nodejs/node-v0.10.28/share/man/man1/node.1

然後,您可以使用update-alternatives --config node在機器中安裝的任意數量的版本中進行選擇。

第八種辦法

僅供參考,Chris Lea的回購可用版本目前為0.8.25

sudo apt-get install nodejs=0.8.25-2chl1~raring1

第九種辦法

根據nodejs github repo的wiki中的this page,其中,Chris Lea的PPA(在其他幾個答案中提到)已被NodeSource發行版取代,作為在Ubuntu中從源安裝nodejs的主要方式:

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

這支持最新的三個(在撰寫本文時)UTSntu的LTS版本:10.04(清晰),12.04 LTS(精確)和14.04(可靠)。

我不確定這會有助於安裝舊版本的nodejs,但我會把它放在這裏,以防其他人需要安裝未包含在他們的發行版存儲庫中的特定(較新)版本的nodejs。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/6837.html,未經允許,請勿轉載。