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


無法安裝NodeJ:/usr/bin/env:node:沒有這樣的文件或目錄

, , , ,

問題描述

我正在嘗試將nodeJs安裝到我的Ubuntu 14.04中以便使用GruntJs。

我已經閱讀了Ubuntu different way這樣做(issues?),所以這就是我為安裝它所做的:

sudo apt-get install npm

sudo npm install -g grunt-cli

在那之後打字咕嚕我有錯誤:

/usr/bin/env: node: No such file or directory

所以,我試過了:

curl -sL https://deb.nodesource.com/setup | sudo bash -

sudo apt-get install -y nodejs

sudo apt-get update

再試一次,仍然得到錯誤,我嘗試過:

sudo add-apt-repository https://launchpad.net/~chris-lea/+archive/node.js/

sudo apt-get install -y nodejs

我有這樣的信息:

nodejs is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.

我確實嘗試過清理,以防萬一:

sudo apt-get autoremove

但不,錯誤仍然存​​在:當我輸入咕嚕聲時,我仍然得到/usr/bin/env: node: No such file or directory

我該怎麽辦?

最佳解決辦法

找到了答案。為了防止有人,我會在這裏發布:

做一個符號鏈接解決了這個問題:ln -s /usr/bin/nodejs /usr/bin/node(謝謝你和+1投票給bodokaiser)。

注意:我認為這篇文章並不完全重複,因為該帖子有點像瀏覽器問題。

次佳解決辦法

問題不在於節點版本。相反,它是默認情況下在Ubuntu中安裝NodeJS的方式。在Ubuntu中運行Node應用程序時,您必須運行nodejs somethign.js而不是node something.js

因此終端中調用的應用程序名稱是nodejs而不是node。這就是為什麽需要一個符號鏈接來簡單地將收到的所有命令作為node轉發到nodejs的原因。

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

第三種解決辦法

我認為你應該升級最新的節點版本

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

第四種辦法

如果你能夠使用nodejs命令訪問ubuntu終端上的節點,那麽可以使用-creating nodejs和node的符號鏈接來簡單地解決這個問題

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

這可以解決問題

第五種辦法

就我而言,installing nodejs-legacy解決了這個問題。

sudo apt-get install nodejs-legacy

第六種辦法

做就是了

$ sudo apt-get install nodejs-legacy

它將開始工作。

第七種辦法

我發現這通常是一個錯誤的錯誤,如果你從一個包管理器安裝你bin可能被稱為nodejs所以你隻需要像這樣符號鏈接它

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

第八種辦法

如果您已經安裝了nodejs(請與which nodejs一起檢查)並且不想安裝另一個軟件包,您可以以root用戶身份:

update-alternatives --install /usr/bin/node node /usr/bin/nodejs 99

第九種辦法

當我使用gulp時,我遇到了這個錯誤。

~$ gulp

/usr /bin /env:’node’:沒有這樣的文件或目錄

通過執行以下命令刪除了這一點,您必須記住/usr /bin目錄具有所有權限。

~$ ln -s /usr/bin/nodejs /usr/bin/node

這對我有用..

第十種辦法

雖然ln -s是一個明顯最簡單的解決方案,但有一點解釋:

Because of a conflict with another package, the executable from the Ubuntu repositories is called nodejs instead of node. Keep this in mind as you are running software.

安裝sudo apt-get install nodejs時會出現此建議。

所以其他一些已知的工具(我不知道它的作用。雖然ubuntu存儲庫已知,但默認情況下在16.04中沒有安裝)占用該命名空間。

本來不錯的,如果Ubuntu已經提供了如何修複這個’cleanly’的建議,如果不是通過手工做什麽,否則包將做。 (碰撞仍然是碰撞……如果發生碰撞時會發生碰撞)

參考資料

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