簡體   English   中英

ubuntu 12.04上的nodejs vs node

[英]nodejs vs node on ubuntu 12.04

我根據此處給出的說明在 ubuntu 上安裝了 nodejs

當我在終端中寫node --version時,我看到了這個:
-bash: /usr/sbin/node: No such file or directory

不過,我可以在/usr/sbin/目錄中看到節點。

npm --version顯示1.3.5
nodejs --version顯示v0.10.15

另外,我可以在/usr/bin/目錄中看到節點。

那么,如何讓node工作?

另外,如果我使用zsh而不是 bash,則node命令有效。

您需要手動創建符號鏈接/usr/bin/node bash 兼容 shell 的快捷方式:

sudo ln -s `which nodejs` /usr/bin/node

或者,如果您使用非標准 shell,只需使用which nodejs對您找到的路徑進行硬編碼:

sudo ln -s /usr/bin/nodejs /usr/bin/node

稍后編輯

我在您發布的鏈接中找到了這個解釋

與 node 包(Amateur Packet Radio Node Program)存在命名沖突,nodejs 二進制文件已從 node 重命名為 nodejs。 您需要將 /usr/bin/node 符號鏈接到 /usr/bin/nodejs 或者您可以卸載業余分組無線電節點程序以避免這種沖突。

稍后稍后編輯

我已經有一段時間沒有回答這個問題了。 盡管我在這里發布的解決方案多次為我工作,但用戶在評論中報告了更多解決方案:

來自@user229115

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

來自 AskUbuntu(用戶 leftium)

sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs

我覺得這就是:

sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10

使用 Debian 替代品。

顯然,解決方案在 Ubuntu 版本之間有所不同。 以下在 Ubuntu 13.10 上為我工作:

sudo apt-get install nodejs-legacy

高溫高壓

編輯:經驗法則:

如果您已經安裝了nodejs但缺少/usr/bin/node二進制文件,那么還要安裝nodejs-legacy 這只會創建缺少的軟鏈接。

根據我的測試,Ubuntu 17.10 及更高版本在安裝nodejs后已經具有兼容性軟鏈接/usr/bin/node ,因此這些版本中缺少nodejs-legacy ,因為不再需要它。

我在 Ubuntu 14.04 中遇到了同樣的問題。

我已經安裝了“nodejs”並且它正在工作,但前提是我使用命令“nodejs”。 如果我嘗試使用“節點”,什么都不會發生。

我通過以下方式解決了這個問題:

  1. 安裝 nodejs-legacy

      sudo apt-get install nodejs-legacy

之后,當我在命令行中鍵入“node”時,我收到一條錯誤消息“/usr/sbin/node:沒有這樣的文件或目錄”

  1. 其次,我所做的,它是“nodejs”上的符號鏈接:

      sudo ln -s /usr/bin/nodejs /usr/sbin/node

節點版本管理器 (nvm)

如果您想安裝多個 nodejs 版本並在它們之間輕松切換,我建議使用Node Version Manger 它還解決了命名問題( node vs nodejs

這很簡單:

安裝 nodejs 版本:

$ nvm install 4.4

現在除了已經安裝的版本之外,您還有 nodejs 4.4,您只需使用node命令即可到達新安裝的版本:

$ node -v    // The new version added by nvm.
v4.4.5
$ nodejs -v  // The OS version is untouched and still available.
v0.10.25

您可以安裝更多的 nodejs 版本並在它們之間輕松切換:

$ nvm install 6.2
$ nvm use 6.2
Now using node v6.2.1 (npm v3.9.3)
$ node -v
v6.2.1
$ nvm use 4.4
Now using node v4.4.5 (npm v2.15.5)

這也發生在我身上。

node -v => 0.10.2
nodejs -v => 5.5.0

問題是我前段時間從源代碼安裝了節點。 跑步

which node

總是指向這個本地安裝。 還,

echo NODE_PATH

指向本地安裝。

使用源安裝刪除目錄沒有幫助。 它只是破壞了節點命令。 最后,取消設置 NODE_PATH 環境變量並清除然后重新安裝 nodejs 就可以了。

unset NODE_PATH
sudo apt-get --purge remove nodejs
sudo apt-get install nodejs

在這之后,

node -v => 5.5.0

並且 npm install 開始適用於取決於 Node => 5.0 的包。

我對這一切都很陌生,但對我來說,一個簡單的別名有效:

alias node='env NODE_NO_READLINE=1 rlwrap nodejs'

至少用於直接在 bash 中運行並執行 .js 文件。

如何使用nodejs 網站的官方說明

對於 v7:

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

對於 v6:

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

對於 v4:

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

我已經從 Windows bash(通過 Linux 子系統 - 14.04)和 raspbian(基於 ARM Debian)測試了這些。 在沒有先運行安裝腳本的情況下運行sudo apt-get install -y nodejs將導致您獲得節點 0.10。

如果您計划安裝需要構建的本機 npm 模塊,請同時運行:

sudo apt install -y build-essential

注意:這是跨所有架構的任何基於 Debian 的發行版的推薦路徑。

添加到@randunel 的正確答案(尚無法評論 SO):

我還必須將 /usr/local/bin/node 符號鏈接到 /usr/bin/nodejs 。

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

顯然,這是覆蓋 /usr/bin/ node 命令。

不知道這是如何設置的,但希望它對其他人有所幫助,因為弄清楚為什么上述內容對我不起作用是一件很痛苦的事情。

遲到的答案,但要獲得最新信息......

如果你使用node github 安裝自述文件中的推薦方法安裝 node.js,它建議按照nodesource 博客文章中的說明進行操作,而不是從過期的 apt-get repo 安裝,node.js 應該使用node命令運行,以及nodejs命令,而無需創建新的符號鏈接。

文章中的這種方法是:

# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

# Then install with:
sudo apt-get install -y nodejs

請注意,這是針對 v0.12 的,在不久的將來可能會變得過時。

此外,如果您使用公司代理(如我),您需要在 sudo 命令中添加 -E 選項,以保留代理所需的環境變量:

curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -

這對我有用:

alias node=nodejs

按照鏈接中的說明進行操作后。

如果您在運行 Ubuntu 實例(在 Ubuntu 16.x 上測試)的 AWS EC2 實例上,那么這些步驟可能對您有用:

sudo apt-get update
    sudo apt-get --purge remove node -y
    sudo apt-get --purge remove nodejs -y
    sudo apt-get --purge remove legacy-node -y
    sudo rm  /usr/bin/node
    curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
    sudo apt-get install nodejs -y
    node -v

如果一切正確,最后一個命令應具有如下輸出:v6.xx

如果沒有,則運行以下命令:

sudo ln -s /usr/bin/nodejs /usr/bin/node

希望這會有所幫助。 它神奇地幫助了我(呵呵)。

我有同樣的問題符號鏈接幫助我: sudo ln -s /usr/bin/nodejs /usr/bin/node 之后 sudo npm install -g phantomjs-prebuilt

順利進行

安裝 nodejs 的最佳方式是通過 NVM(節點版本管理器)

刪除以前的版本:

$ sudo apt-get purge node
$ sudo apt autoremove

還可以通過$ sudo rm -rf node_modules刪除包含此文件夾的目錄中的所有 node_modules。

Node 和 Nodejs 在技術上是一樣的。 只是名字變了。

首先安裝或更新 nvm

以 root 身份運行

$ sudo su

然后

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

或者

$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash

檢查 nvm 到路徑

$ source ~/.profile
$ nvm ls-remote

如果您收到有關列表的錯誤,請安裝 git。

$ sudo apt-get install git

重新運行:

$ nvm ls-remote
或者
$ nvm install version-you-require

# node --version

檢查版本

 # 節點--版本
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps

信息禮貌:

  https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps

我創建了一個符號鏈接,但它仍然無法正常工作。

我忘了重新啟動我的終端(我的膩子連接)。 在我沒有符號鏈接的情況下工作之后:)

將對絕對初學者有所幫助

雖然,您已經得到了答案,只是想指出node命令(不帶任何參數)將以 REPL讀取-評估-打印-循環模式啟動 node 以執行原始 javascript 代碼。

使用node命令的另一種方法是提供一個js文件作為參數。 這就是我們主要使用它的方式。

只需使用 NVM(節點版本管理器) - https://github.com/creationix/nvm

它已成為管理 Node.js 的標准。

當您需要新版本時:

nvm install NEW_VER
nvm use XXX

如果出現問題,您可以隨時返回

nvm use OLD_VER

您可以執行此命令來啟用 nodejs:

scl enable rh-nodejs8 bash

注意:檢查您的節點版本。

來源: https ://developers.redhat.com/products/softwarecollections/hello-world/

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

Download .pkg file on your mac and install it. it directly works.

➜  ~ which node
/usr/local/bin/node
➜  ~ node --version
v10.11.0
➜  ~ which npm
/usr/local/bin/npm
➜  ~ npm --version
6.4.1

刪除現有的 node 和 nodejs 是可選的,但必須安裝最新的 7.x nodejs。

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

就我而言,我只是使用了這個

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

這個將安裝一個穩定的版本

然后將其設為符號鏈接

sudo ln -s  /usr/local/bin/node

暫無
暫無

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

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