所以我有一个应用程序,我需要为Android构建,但在运行
离子cordova准备android
在命令提示符中给出以下错误
(node:2775)UnhandledPromiseRejectionWarning:CordovaError:无法获取平台cordova-android@7.0.0这可能是连接问题,或者平台规范不正确 . 检查您的连接和平台名称/版本/ URL . 错误:npm:命令失败,退出代码为254错误输出:npm WARN checkPermissions缺少对/ home / {} / dirname / project-name / node_modules / com-plugins-atcamera npm的写访问权限WARN @ ngx-translate / http -loader@3.0.1需要@ ngx-translate / core @> = 10.0.0的对等体,但没有安装 . 您必须自己安装对等依赖项 . npm WARN @ngx-translate / http-loader @ 3.0.1需要@ angular / core @> = 6.0.0-rc.0的对等体,但没有安装 . 您必须自己安装对等依赖项 . npm WARN @ngx-translate / http-loader @ 3.0.1需要@ angular / common @> = 6.0.0-rc.0的对等体,但没有安装 . 您必须自己安装对等依赖项 . npm WARN ajv-keywords@2.1.1需要ajv@^5.0.0的对等体,但没有安装 . 您必须自己安装对等依赖项 . npm WARN ionic-gallery-modal@0.2.7需要@ angular / core @ ^ 4.1.3的对等体,但没有安装 . 您必须自己安装对等依赖项 . npm WARN ionic-gallery-modal@0.2.7要求对等体为ionic-angular@3.6.0,但没有安装 . 您必须自己安装对等依赖项 . 错误的ERR! path / home / {} / gt-Hub / gt-hub-app-pwa / node_modules / com-plugins-gtcamera npm ERR!代码ENOENT npm ERR! errno -2 npm ERR!系统调用访问npm ERR! enoent ENOENT:没有这样的文件或目录,访问'/ home / {} / gt-Hub / project-name / node_modules / com-plugins-atcamera'npm ERR! enoent这与npm无法找到文件有关 . 错误的ERR! ENOENT
接下来是一些类似的,然后是一些linting错误
我之前运行了以下命令来修复有关权限的其他错误
sudo chmod -R 777 / usr / local / lib / node_modules / cordova sudo chown -R username~ / .config / configstore / update-notifier-cordova.json sudo chown -R mehulthanki / usr / local / lib / node_modules / cordova
最后修复上述命令
sudo chmod -R 777 usr
我瘦了我搞乱了文件和权限的所有权,同时试图修复另一个先前的错误,这可能是由于离子和cordova与sudo一起安装引起的,实际上你修复了我运行上面提到的最后一个chmod命令,所以我可以卸载所有东西:node,npm,ionic和cordova并重新安装离子和cordova而不用sudo,但现在还有其他错误..
知道如何解决权限和所有权问题吗?
EDIT 试运行时
sudo ionic cordova准备android
它给出了错误
sudo:/ usr / bin / sudo必须由uid 0拥有并设置setuid位
1 回答
首先卸载Cordova,然后获取 NVM (节点版本管理器)以在没有sudo的情况下正确安装Node和Cordova . 最初处理NVM很烦人,但一切都运行得更好 .
之后创建一个 new cordova project ,而不是试图修复搞砸了 . 如果你可以在没有任何错误或警告的情况下正确安装cordova-android之前尝试任何事情,那么这个应用程序什么都不会起作用 .