我正在按照“入门”页面尝试启动ionic2。我在第一步中运行了npm -g install cordova ionic命令,一切似乎都很好但是当我运行第二步离子启动时--v2 myApp选项卡我收到了错误。
CCasadMBP:Sites ccasad$ ionic start --v2 myAppv2 tabs
/Users/ccasad/.npm-packages/lib/node_modules/ionic/node_modules/ionic-app-lib/lib/start_wizard.js:94
ps.stdout.on('data', (data) => {
^^
SyntaxError: Unexpected token =>
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.start_wizard (/Users/ccasad/.npm-packages/lib/node_modules/ionic/node_modules/ionic-app-lib/index.js:25:12)
at Object.<anonymous> (/Users/ccasad/.npm-packages/lib/node_modules/ionic/lib/ionic/start.js:13:30)
at Module._compile (module.js:460:26)
/Users/ccasad/.npm-packages/lib/node_modules/ionic/node_modules/ionic-app-lib/lib/start_wizard.js:94
ps.stdout.on('data', (data) => {
^^
Unexpected token => (CLI v2.2.1)
Your system information:
Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: 1.8.2
ios-sim version: 5.0.3
OS: OS X Yosemite
Node Version: v0.12.6
Xcode version: Xcode 7.2.1 Build version 7C1002
我已经为离子v1运行良好,所以不确定为什么npm中的东西不能用于v2。该错误几乎似乎不能理解ES6箭头函数或其他东西,因为它在=&gt;上表示意外的标记。
任何想法如何处理这个?我需要重新安装节点吗?
由于
答案 0 :(得分:1)
最好从C:\Program Files
或C:\Program Files (x86)
卸载和删除节点并安装最新版本。
OR
这是此文件中的离子错误
C:\Users\{user}\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\lib\start_wizard.js
为了编译node.js的这种语法,你需要新版本的Node.js,因此你必须将所有lambda语法从函数更改为规范化旧版本的代码:
ps.stdout.on('data', (data) => {
var d = data.toString('utf-8');
if(d.indexOf('dev server running') >= 0) {
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify({
'status': 'success'
}));
}
process.stdout.write(d);
});
致:
ps.stdout.on('data',function (data) {
var d = data.toString('utf-8');
if(d.indexOf('dev server running') >= 0) {
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify({
'status': 'success'
}));
}
process.stdout.write(d);
});
完整正确的文件:Download
答案 1 :(得分:0)
我不确定这对你有用,即使我有一个问题,我已经解决了这个问题。我相信看起来像节点迁移问题。尝试设置最新版本(例如6.9.4)。在做clean npm
然后安装。希望这应该工作