的ubuntu的NodeJS语法错误语法错误:意外令牌'

问题描述:

我通过安装VolumioUI的过程中继续Ubuntu的this link.的ubuntu的NodeJS语法错误语法错误:意外令牌'

的解释,我也得到:

/Volumio2-UI$ gulp serve --theme="volumio" 

/home/yossi/elia/Volumio2-UI/gulp/build.js:127 
     fs.readFileSync(`${conf.paths.src}/app/themes/${themeSelected}/assets/va 
        ^
SyntaxError: Unexpected token ILLEGAL 
    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 /home/yossi/elia/Volumio2-UI/gulpfile.js:19:3 
    at Array.map (native) 
    at Object.<anonymous> (/home/yossi/elia/Volumio2-UI/gulpfile.js:18:4) 
    at Module._compile (module.js:456:26) 

我做同样的过程MAC没有问题。

这很奇怪,因为它抱怨语法错误。

如果我将其更改为'比它工作正常,问题是代码充满了这个错误。

我可以配置NodeJs将`as' ?

注:我能够通过搜索和替换来解决它,但我把这个问题留给打开,因为我想知道,如果它可以与配置

$ node --version 
v0.10.25 
+0

你有node.js的4.8.4或更高版本运行你的Ubuntu机('节点--version')上? http://node.green/#ES2015-syntax-template-literals –

+0

v0.10.25我想这可以解释这个问题... –

反引号是最新版本的Javascript(ES6)中引入的新语法的一部分。

发生该问题,因为您有一个(非常)旧版本的节点,它没有实现这个新的语法。可能是,您有节点v.0.10而不是节点v.7

解决方法是升级node.js.

这里是(Ubuntu的14)怎么样,看到https://askubuntu.com/questions/426750/how-can-i-update-my-nodejs-to-the-latest-version

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

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs 

反引号是从不同的待解决单引号,它们不能通过在某处设置配置选项来进行互换。

您需要一个支持反引号("template literal")语法的相对较新的Node.js版本(v4.4.2或更高版本,我认为)。