Ionic框架显示未知,执行ionic serve遇Error: spawn EACCES求助
解决Ionic Serve的Error: spawn EACCES及Framework显示Unknown问题
嗨,我之前在Linux上用Ionic 3的时候也碰到过一模一样的问题,给你几个亲测有效的解决思路:
1. 先搞定Ionic Framework显示Unknown的问题
这个一般是项目依赖没装完整或者版本不兼容搞的鬼,按下面步骤来:
- 进入你的项目根目录,删掉
node_modules文件夹和package-lock.json(如果项目里有这个文件的话) - 你的npm版本4.2.0有点旧,和Ionic 3搭配可能会出问题,先升级下npm:
npm install -g npm@5.6.0(这个版本和你用的Node 7.10.1完全兼容) - 然后重新安装项目依赖:
npm install - 装完后再跑一遍
ionic info,正常情况下应该就能识别出Ionic Framework了(你可以顺便看下package.json里有没有ionic-angular这个依赖,Ionic 3的核心依赖就是它)
2. 解决Error: spawn EACCES错误
这个错误在Linux上基本都是文件权限不足导致的,给你两个最常见的解决方向:
方向一:修复项目依赖的执行权限
有时候node_modules里的脚本没有执行权限,就会触发这个错误:
- 进入项目的
node_modules/.bin目录,看看里面的脚本(比如ionic-app-scripts)有没有执行权限 - 如果没有的话,直接给所有脚本加权限:
chmod +x node_modules/.bin/* - 或者更稳妥一点,把整个
node_modules目录的所有权改成当前用户:sudo chown -R $USER:$USER node_modules(千万别用root权限跑npm,不然依赖文件会变成root权限,普通用户根本没法执行)
方向二:重新安装Ionic CLI到用户目录
要是你之前用sudo装的Ionic CLI,大概率会有权限问题,重新装到自己的用户目录里就好了:
sudo npm uninstall -g ionic npm install -g ionic --prefix ~/.npm-packages
然后记得把~/.npm-packages/bin加到你的环境变量PATH里(具体可以编辑~/.bashrc或者~/.zshrc,加一行export PATH="$HOME/.npm-packages/bin:$PATH",然后重启终端生效)
3. 最后验证
完成上面的步骤后,回到项目根目录先跑ionic info确认所有信息都正常,然后再试ionic serve,应该就能正常启动了。
如果还是不行,你可以试试删掉ionic.config.json然后重新初始化项目:ionic init,不过这样会重置项目配置,记得先备份一下原文件哦。
内容的提问来源于stack exchange,提问作者Ragu
相关产品推荐
相关产品推荐

