我最近在Amazon EC2上设置了一个ubuntu14.04服务器, 当我使用shell安装nodejs时:
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs
它说nodejs已经是最新版本了。 为了检查成功的节点安装,我将其写入test.js文件
var sys = require("sys");
sys.puts("Hello World");
当我尝试
时node test.js
我在shell.strange中没有任何东西.someohelp?
我按照官方演示
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
将其保存为server.js尝试使用节点server.js运行它...
但它在我的本地ubuntu服务器机器上运行良好。所以我猜它可能是亚马逊的问题?
我看到了这个帖子:
Can't connect to Node web-server hosted on Amazon EC2
它也不能解决我的问题。在我允许所有端口上的所有流量后,仍然会遇到同样的问题。
顺便说一句,我使用PUTTY连接服务器。
ubuntu 14.04有一个不同版本的nodejs是对的。所以我从官方网站下载.tar.gz文件解包,然后运行
./configure && make && sudo make install
然后它对我有用....
答案 0 :(得分:1)
node!= nodejs。试试跑步: nodejs test.js
答案 1 :(得分:0)
问题是某些版本的Ubuntu(包括14.04)需要为nodejs安装不同的软件包。与节点进程存在冲突,您实际上并未运行节点,而是运行其他应用程序。
使用sudo apt get install nodejs-legacy
解决问题安装nodejs。执行此操作后,如果您运行node --version
,则应该会看到返回的版本。
答案 2 :(得分:-1)
尝试:
sudo node test.js
它对我有用