【问题标题】:cordova run android command fails with Error: EACCES: permission deniedcordova run android 命令失败并出现错误:EACCES:权限被拒绝
【发布时间】:2016-07-25 13:45:33
【问题描述】:

我正在尝试使用以下命令在我的 linux mint 17.3 Rosa 中运行应用程序

 cordova run android

但我每次运行时都会收到以下错误

  /usr/local/lib/node_modules/cordova/node_modules/update-notifier
  /node_modules/configstore/index.js:53
            throw err;
            ^

 Error: EACCES: permission denied, open '/home/mahesh/.config/configstore
 /update-notifier-cordova.json'
 You don't 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
/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)

我不知道如何进一步进行。谁能帮助我。对不起,我对此很陌生

【问题讨论】:

  • 您是否必须使用sudo 安装node?您可以检查您的npm permissions 是否设置正确。或者,您可能还需要更改项目文件的所有权(如果您不熟悉此过程,请搜索 chown,然后搜索 chmod)。

标签: android cordova ionic-framework android-sdk-tools


【解决方案1】:

我遇到了同样的错误,我按照解决方案1修复了它,你可以尝试解决方案1或其他解决方案来解决这个问题

解决方案1:尝试卸载cordova并重新安装

解决方案2:安装 bower_components 并重新安装 cordova android

解决方案3: 您可以使用以下三个选项之一来解决此问题:

1:更改npm默认目录的权限

1).找到npm目录的路径:

npm config get prefix

对于许多系统,这将是 /usr/local。

警告:如果显示的路径只是 /usr,请切换到选项 2,否则您会弄乱您的权限。

2).将 npm 目录的所有者更改为当前用户的名称(您的用户名!):

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share} 这会更改 npm 和其他一些工具(lib/node_modules、bin 和 share)使用的子文件夹的权限。

2:将 npm 的默认目录更改为另一个目录

有时您不想更改 npm 使用的默认目录(即 /usr)的所有权,因为这可能会导致一些问题,例如,如果您与其他用户共享系统。

相反,您可以将 npm 配置为完全使用不同的目录。在我们的例子中,这将是我们主文件夹中的一个隐藏目录。

1).为全局安装创建一个目录:

mkdir ~/.npm-global 2).配置npm使用新的目录路径:

npm 配置设置前缀 '~/.npm-global' 3).打开或创建一个~/.profile文件并添加这一行:

导出路径=~/.npm-global/bin:$PATH 4).回到命令行,更新你的系统变量:

来源 ~/.profile 测试:不使用 sudo 全局下载包。

npm install -g jshint 除了步骤 2-4,您还可以使用相应的 ENV 变量(例如,如果您不想修改 ~/.profile):

NPM_CONFIG_PREFIX=~/.npm-global 3:使用包管理器为您处理此问题。

使用正确的权限开箱即用。

brew 安装节点

【讨论】:

    猜你喜欢
    • 2017-12-29
    • 1970-01-01
    • 2018-04-20
    • 2022-06-23
    • 2021-12-23
    • 2021-07-02
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多