ionic update-notifier-cordova.json' 您无权访问此文件



我试图在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'

这解决了问题。

从这个位置删除文件更新通知程序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/

最新更新