我试图在iOS上运行ionic,但它会抛出错误。
发生了什么?
ionic run ios
/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:53
throw err;
^
Error: EACCES, permission denied '/Users/jiahongl/.config/configstore/update-notifier-cordova.json'
You don't have access to this file.
at Error (native)
at Object.fs.openSync (fs.js:500:18)
at Object.fs.readFileSync (fs.js:352:15)
at Object.create.all.get (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:34:26)
at Object.Configstore (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:27:44)
at new UpdateNotifier (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/index.js:34:17)
at module.exports (/usr/local/lib/node_modules/cordova/node_modules/update-notifier/index.js:123:23)
at checkForUpdates (/usr/local/lib/node_modules/cordova/src/cli.js:64:20)
at cli (/usr/local/lib/node_modules/cordova/src/cli.js:114:5)
at Object.<anonymous> (/usr/local/lib/node_modules/cordova/bin/cordova:41:1)
我刚刚通过以下命令更改了文件update-notifier-cordova.json
的权限:
sudo chmod -R 777 '/Users/anand.d.gupta/.config/configstore/update-notifier-cordova.json'
这解决了这个问题。
删除文件update-notifier-cordova.json解决了这个位置问题,它只是一个配置文件
删除文件不是一个正确的选项,以下方法对我有用。此问题的根本原因是Cordova-cli权限。
步骤1:卸载Cordova并重新安装。
sudo npm remove -g cordova
步骤2:使用以下命令安装
sudo npm install -g --unsafe-perm=true cordova
确保它安装了最新版本,通过输入$ ionic info
,您可以看到Cordova CLI版本
第3步:保护以下文件夹的权限
sudo chown -R <username> /Users/<username>/.config/configstore/
sudo chown -R <username> /Users/<username>/.cordova/
ionic build ios - Should work like charm
在我的项目中,此问题已通过以下方式修复:
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
更改了此文件夹的权限
sudo chown -R yourusername /Users/yourusername/.config/configstore/