【发布时间】:2016-12-24 07:27:03
【问题描述】:
我正在运行 Ubuntu 16。
这是我的系统信息:
Your system information:
Cordova CLI: 6.3.1
Gulp version: CLI version 1.2.2
Gulp local: Local version 3.9.1
Ionic Framework Version: 1.2.4-nightly-1917
Ionic CLI Version: 2.0.0
Ionic App Lib Version: 2.0.0-beta.20
OS: Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS
Node Version: v4.4.7
当我尝试从我的项目目录执行 sudo ionic run android 或 sudo ionic build android 时,我得到以下输出:
Running command: /home/simon/flash-trader/hooks/after_prepare/010_add_platform_class.js /home/simon/flash-trader
add to body class: platform-android
Caught exception:
TypeError: Can't call method on undefined
at TypeError (native)
at module.exports (/home/simon/flash-trader/node_modules/karma/node_modules/core-js/modules/_defined.js:3:28)
at createHTML (/home/simon/flash-trader/node_modules/karma/node_modules/core-js/modules/_string-html.js:7:19)
at bold (/home/simon/flash-trader/node_modules/karma/node_modules/core-js/modules/es6.string.bold.js:5:12)
at cb (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/logger.js:206:7)
at done (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:167:19)
at /usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:40:16
at /usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/logger.js:193:9
at Console.log (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/transports/console.js:127:3)
at emit (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/logger.js:186:17)
at /usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:157:13
at _each (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:57:9)
at Object.async.each (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:156:9)
at Logger.log (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/logger.js:214:9)
at target.(anonymous function) [as error] (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/common.js:54:18)
at Socket.<anonymous> (/usr/lib/node_modules/ionic/lib/utils/cordova.js:83:11)
Mind letting us know? https://github.com/driftyco/ionic-cli/issues
Caught exception:
TypeError: Can't call method on undefined
at TypeError (native)
at module.exports (/home/simon/flash-trader/node_modules/karma/node_modules/core-js/modules/_defined.js:3:28)
at createHTML (/home/simon/flash-trader/node_modules/karma/node_modules/core-js/modules/_string-html.js:7:19)
at bold (/home/simon/flash-trader/node_modules/karma/node_modules/core-js/modules/es6.string.bold.js:5:12)
at cb (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/logger.js:206:7)
at done (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:167:19)
at /usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:40:16
at /usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/logger.js:193:9
at Console.log (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/transports/console.js:127:3)
at emit (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/logger.js:186:17)
at /usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:157:13
at _each (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:57:9)
at Object.async.each (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/node_modules/async/lib/async.js:156:9)
at Logger.log (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/logger.js:214:9)
at target.(anonymous function) [as error] (/usr/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/winston/lib/winston/common.js:54:18)
at Socket.<anonymous> (/usr/lib/node_modules/ionic/lib/utils/cordova.js:83:11)
是的,两次完全相同的错误。我已经按照 developer.android.com 上的说明在 Ubuntu 上设置了我的手机。调试模式已启用。我所有的环境变量都已设置(我相信。)我通过 Android Studio 安装了 Android SDK。
这个错误非常隐蔽。有人见过吗?
但是,ionic serve 可以完美地构建和运行项目。
Google 搜索出现了一些相关问题,但似乎没有一个与我的确切情况相符。感谢您的帮助。
【问题讨论】:
-
您应该尝试删除
node_modules并再做一个npm install -
我直接从文件系统中删除了
/node_modules和/platforms,也就是我的项目文件夹中的文件夹。然后我按照以下顺序做了:sudo npm install -g cordova、sudo npm install -g ionic、sudo npm install。然后我尝试了另一个ionic build android,在 Ionic 为我重新添加了 android 之后,因为我忘了这样做,我得到了同样的错误。 -
你见过这个 github 打开的问题:github.com/driftyco/ionic-cli/issues/984 吗?它仍处于打开状态,但最后一篇文章给出了使其工作的技巧。另外,我觉得很奇怪你需要使用 sudo 来运行你的所有命令。这是linux的正常使用。你也应该解决这个问题(寻找在没有 sudo 的情况下使用 npm 的方法)。
-
好主意。我正在研究这两件事。不知道 sudo 很奇怪谢谢
标签: android node.js cordova ubuntu ionic-framework