簡體   English   中英

如何從 Ubuntu 中的二進制文件安裝 nodejs 0.10.26

[英]how to install nodejs 0.10.26 from binaries in Ubuntu

我是 linux 新手,正在嘗試使用二進制文件安裝 nodejs 最新版本。 我查找的解決方案建議在某些私有存儲庫 (PPA) 上使用 apt-get 進行安裝,我不想這樣做。

所以我運行了以下命令:

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

在這之后,我真的不知道該怎么辦。 我讀了一篇文章,建議創建符號鏈接,我有點害怕在不知道細節的情況下搞砸。

能否請您給我一組在此之后運行的命令,以便使用 npm 安裝節點? 我猜 npm 應該是這個二進制版本的一部分。

安裝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指向最新版本的符號鏈接。

為了能夠在不引用完整路徑( /usr/local/node/bin/node )的情況下從命令行使用“node”可執行文件,請將/usr/local/node/bin$PATH (通常這涉及到更改) ~/.bash_profile~/.profile文件;有很多關於如何執行此操作的文檔)。

如果你需要更新Node.js(假設它是版本7.10.0),那么,只需在/usr/local提取tarball並更新符號鏈接,使其指向新的。 然后,您可以選擇刪除舊文件夾。

2017年5月更新

從“創建者更新”開始,上面的命令現在也可以在Windows 10上使用“Windows子系統Linux”(通過bash)工作。 在Windows 10上的Ubuntu上,在創建上面的符號鏈接之后,將文件夾添加到~/.bashrc文件中的$PATH add PATH="/usr/local/node/bin:$PATH"

我將這兩個答案合並到我的docker容器中。 我希望可執行文件已經在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

您可以在任何地方提取二進制文件並使用update-alternatives命令,該命令維護確定默認命令的符號鏈接,例如這是在我的筆記本電腦上。

首先,我在 /mnt/e/WSL_Ubuntu/Downloads/node-v10.16.3-linux-x64/ 文件夾中提取我的節點 node-v10.16.3-linux-x64.tar.xz :

xxxx@xxxxPC:.../WSL_Ubuntu/Downloads$ tar xvf node-v10.16.3-linux-x64.tar.xz
xxxx@xxxxPC:.../WSL_Ubuntu/Downloads$ cd node-v10.16.3-linux-x64/

然后 update-alternatives --install :

xxxx@xxxxPC:.../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

現在我在終端上使用節點

xxxx@xxxxPC:.../node-v10.16.3-linux-x64/bin$ node --version
v10.16.3

您還應該在 npm 二進制文件上使用 update-alternatives --install。

我認為還有一種更清潔的方式

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 -e 'console.log("HI")'
HI

希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM