我从socket.io开始,在跟随their tutorial时遇到了以下错误消息:
/path/to/my/app/node_modules/ws/lib/websocket.js:347
...options
^^^
SyntaxError: Unexpected token ...
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:549:28)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/path/to/my/app/node_modules/ws/index.js:3:19)
这是我的index.js:
var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
已安装节点,express和socket.io。一切正常,直到教程中的这一步为止。如果删除 io 变量,它将重新开始运行。
在Google上搜索了相同的错误,但找不到任何内容。
答案 0 :(得分:3)
好像我找到了答案。我将在这里发布其他有相同问题的人的信息。 继续寻找答案后,我找到了此链接:
https://github.com/uport-project/uport-cli-client/issues/2
用户Zachferland回答了关于省略号(...)错误的OP问题。
@KamesCG感谢您的来信!是的,似乎物体扩散了 直到8.2.1(带有标志,然后 8.6.0)。要立即尝试,请运行更高版本的node,在将来,我们将更新uport-js-client以将src转换为更广泛的版本。 节点版本支持。
然后我检查了节点版本:
[root@localhost test]# node -v
v6.17.1
回答我的问题。当我安装nodejs时,我就运行了
yum install nodejs -y
哪个安装了旧版本。似乎您必须更新yum rep。就我而言,我有一台CentOS7服务器。我认为有同样的问题。
遵循this tutorial之后,一切正常。
总而言之,我根据链接运行了以下内容:
yum install -y gcc-c++ make
curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -
sudo yum install nodejs