在iOS上进行离子构建和模拟 - 错误

时间:2016-05-30 16:23:27

标签: ios node.js xcode cordova ionic-framework

到目前为止,我对Ionic框架所看到的一切感到非常高兴,他是一个发现球的孩子,他是。

但是,我遇到了一些工具配置问题:

在我的Mac上使用Xcode 7.2.1和Yosemite安装了Apache Cordova 6.2.0;

已安装Ionic 1.7.15客户端;节点4.4.5和NPM 3.9.3;

我设法创建了一个应用程序,打开了Ionic和Ionic Lab View,没问题。

但是当我尝试安装组件来构建xCode时,存在一些问题:

a)ios-yes - 没问题

b)ios-deploy - 各种错误消息:

Npm WARN lifecycle ios-deploy@1.8.6~preinstall: can not run in wd% s% s (% s = wd) ios-deploy@1.8.6 ./src/scripts/check_reqs.js xcodebuild && / usr / local /lib/node_modules/.staging/ios-deploy-298c9491
npm ERR! Darwin 14.5.0
npm ERR! argv "/ usr / local / bin / node" "/ usr / local / bin / npm" "install" "-g" "ios-deploy"
npm ERR! node v4.4.5
npm ERR! npm v3.9.3
npm ERR! path / usr / local / lib / node_modules / ios-deploy / build / Release / ios-deploy
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod

npm ERR! ENOENT ENOENT: no such file or directory chmod '/ usr / local / lib / node_modules / ios-deploy / build / Release / ios-deploy'
npm ERR! ENOENT ENOENT: no such file or directory chmod '/ usr / local / lib / node_modules / ios-deploy / build / Release / ios-deploy'
npm ERR! ENOENT This is Most Likely not a problem with npm itself
npm ERR! ENOENT and is related to npm not being able to find the file.
npm ERR! ENOENT

npm ERR! Please include The Following file with any support request:
npm ERR! /Users/myuser/npm-debug.log

我在执行命令时遇到了问题:

1)$ ionic platform add ios:

Updated the hooks directory to have execute permissions
Downloading Default Ionic Resources
Downloading: https://github.com/driftyco/ionic-default-resources/archive/master.zip
[=============================] 100% 0.0s
Done adding default Ionic resources
Adding icons for platform: ios
/usr/local/lib/node_modules/cordova/node_modules/configstore/index.js:53
throw err;
^

Error: EACCES: permission denied, open '/Users/myuser/.config/configstore/insight-cordova.json'
You do not have access to this file.

at Error (native)
at Object.fs.openSync (fs.js: 549: 18)
at Object.fs.readFileSync (fs.js: 397: 15)
at Object.create.all.get (/usr/local/lib/node_modules/cordova/node_modules/configstore/index.js:34:26)
at Object.Configstore (/usr/local/lib/node_modules/cordova/node_modules/configstore/index.js:27:44)
at new Insight (/usr/local/lib/node_modules/cordova/node_modules/insight/lib/index.js:38:34)
at Object. <anonymous> (/usr/local/lib/node_modules/cordova/src/telemetry.js:37:15)
at Module._compile (module.js: 409: 26)
at Object.Module._extensions..js (module.js: 416: 10)
at Module.load (module.js: 343: 32) "
I can not compile with the command "$ ionic build ios" using only "$ sudo ionic build ios

最后,命令&#34; sudo $ ionic模拟ios&#34;打开模拟器,但不显示项目...

如果有人有任何指示,我感激不尽......

感谢。

Jan Ferrer

3 个答案:

答案 0 :(得分:1)

抱歉,我不确定这是否是评论。我没有足够的积分去做。

您是否使用sudo安装了cordova,ionic等?

由于权限问题,可能会发生这种情况,并且无法成功安装某些模块或访问Mac中的某些文件夹。

您可以在文件夹上chmod更改权限设置,但我不建议您快速修复。

我之前在Mac上遇到过类似的问题,经过几个小时的尝试,我终于使用nodenvm全新安装了brew以避免通过npm安装模块时反复使用sudo。

安装新设备有点痛苦,特别是因为您需要干净地删除当前的节点安装,但从长远来看,它将使您免于解决权限错误,使用sudo等。

卸载/安装节点:http://stackabuse.com/how-to-uninstall-node-js-from-mac-osx/

如果您选择通过此建议,请更新接下来会发生的事情。

答案 1 :(得分:1)

问题解决了。

总而言之,我不得不卸载Apache Cordova,IONIC,必须返回NODE版本6.2.0到4.4.5和NPM的3.8.9到2.15.1;然后重新安装。

我必须使用OSx终端中的CHMOD命令,在错误消息中收取所有权限文件和文件夹。

因此,一切都运作良好。

答案 2 :(得分:1)

我也遇到了这个问题,并在this question的评论中找到了解决方案。你可以使用

  

sudo npm install -g ios-deploy --unsafe-perm = true