Javascript 在服务器上运行socket.io的index.js时出错

Javascript 在服务器上运行socket.io的index.js时出错,javascript,node.js,swift,amazon-web-services,socket.io,Javascript,Node.js,Swift,Amazon Web Services,Socket.io,一段时间以来,我一直在尝试在我的AWS EC2服务器上为我的聊天应用程序运行index.js脚本。我已经将Node更新到最新版本(9.4.0)和NPM 当我尝试使用以下命令运行脚本时: sudo node index.js 我得到以下错误: SyntaxError: Use of const in strict mode. 在互联网上阅读时,我设法通过使用以下行运行脚本来绕过这一点: sudo node --harmony index.js 但是,现在我遇到以下错误,无法解决: (指向错

一段时间以来,我一直在尝试在我的AWS EC2服务器上为我的聊天应用程序运行index.js脚本。我已经将Node更新到最新版本(9.4.0)和NPM

当我尝试使用以下命令运行脚本时:

sudo node index.js 
我得到以下错误:

SyntaxError: Use of const in strict mode.
在互联网上阅读时,我设法通过使用以下行运行脚本来绕过这一点:

sudo node --harmony index.js
但是,现在我遇到以下错误,无法解决: (指向错误位置的小克拉正好位于下面等号后面的第一个闭合括号下方)

常量本机=(()=>{ ^

SyntaxError: Unexpected reserved word
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/var/www/html/example/node/node_modules/ws/index.js:9:19)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
语法错误:意外的保留字
在模块处编译(Module.js:439:25)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
at Module.require(Module.js:364:17)
根据需要(模块js:380:17)
在对象上。(/var/www/html/example/node/node_modules/ws/index.js:9:19)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)

我对node一点也不擅长,也不做很多后端编程。只是尝试运行索引文件。

const
在node中已经支持了一段时间。你确定你使用的是node的最新版本吗?你能检查一下从
node-v
返回的值吗?

嗨。谢谢你的回复。当我尝试时node-v上面写的是9.4.0,但是我只是在没有sudo的情况下运行了我的脚本,一切正常。运行sudo-node-v返回了版本v0.10.48。所以我想我需要弄清楚为什么sudo使用不同的版本以及如何解决这个问题。非常感谢您的帮助我的建议是卸载node(9.4.0)的用户版本然后更新“sudo”版本,最好使用一些版本管理器,如n:也就是说,如果您想使用sudo运行Node。