2017-10-15 43 views
0

我在MacOS環境中構建了一個在Node上運行的Javascript應用程序,並且一切正常。現在我創建了一個Azure Ubuntu服務器,rsync來自我的機器的源代碼。Ubuntu上的Nodejs或節點沒有任何回報

我通過安裝npm,node和所需的所有軟件包來複制應用程序要求。我SSH到服務器,當我通過

$node app.js 

所有這一切都返回運行從Ubuntu的服務器應用程序是

$ 

讀取Ubuntu使用的NodeJS遺留,我也試着

$nodejs app.js 

同樣的結果

$node -v 
v4.7.2 

我還內置了的package.json文件,並

npm start 

它立即返回到$執行時。

+0

你是怎麼安裝節點的?在Ubuntu這樣的基於Debian的發行版中,有一種叫做節點的無線電軟件。所以如果你'安裝節點',它會安裝完全不同的東西。您需要'apt install nodejs nodejs-legacy npm' – slebetman

+0

是的,我就是這麼安裝的$ sudo apt install nodejs nodejs-legacy npm 正在讀取軟件包列表...完成 構建依賴關係樹 讀取狀態信息...完成 nodejs已經是最新版本(4.7.2〜dfsg-1ubuntu3)。 nodejs-legacy已經是最新的版本(4.7.2〜dfsg-1ubuntu3)。 npm已經是最新版本(3.5.2-0ubuntu4)。 已升級0個,新安裝0個,刪除0個,未升級0個。 –

回答

0

它不工作的原因是在Ubuntu上安裝nodejs過期時調用的默認APT存儲庫。我運行以下代碼來解決問題。它會自動卸載所有其他不正確的軟件包,設置正確的軟件倉庫並重新安裝。

# Sets up the correct APT repository hosted by NodeSource, and adds the PGP key to the system's APT keychain 
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 

# Installs Node.js 
$ sudo apt-get install -y nodejs 

# Updates NPM 
$ sudo npm install npm --global 

所有應用程序都按預期工作!