2017-07-28 160 views
0

我通過安裝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我想這可以解釋這個問題... –

回答

1

反引號是最新版本的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 
0

反引號是從不同的待解決單引號,它們不能通過在某處設置配置選項來進行互換。

您需要一個支持反引號("template literal")語法的相對較新的Node.js版本(v4.4.2或更高版本,我認爲)。