Phonegap 3.3.0 无法添加任何插件

Posted

技术标签:

【中文标题】Phonegap 3.3.0 无法添加任何插件【英文标题】:Phonegap 3.3.0 cannot add any plugin 【发布时间】:2014-01-21 17:05:10 【问题描述】:

我正在尝试将barcodescanner 插件添加到Phonegap 3.3.0 项目中。

重现步骤:

$ cordova create app de.app.name "app-name"
$ cd app
$ cordova platform add ios
$ cordova plugin add com.phonegap.plugins.barcodescanner

Fetching plugin from "com.phonegap.plugins.barcodescanner"...
Starting installation of "com.phonegap.plugins.barcodescanner" for ios
Error during processing of action! Attempting to revert...

/usr/local/lib/node_modules/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error: Uh oh!
cannot find "/path/app/plugins/com.phonegap.plugins.barcodescanner/src/ios/CDVBarcodeScanner.mm" ios <source-file>
    at module.exports.source-file.install (/usr/local/lib/node_modules/cordova/node_modules/plugman/src/platforms/ios.js:44:48)
    at Object.ActionStack.process (/usr/local/lib/node_modules/cordova/node_modules/plugman/src/util/action-stack.js:46:25)
    at handleInstall (/usr/local/lib/node_modules/cordova/node_modules/plugman/src/install.js:380:20)
    at /usr/local/lib/node_modules/cordova/node_modules/plugman/src/install.js:331:20
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/plugman/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/plugman/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/plugman/node_modules/q/q.js:760:13)
    at /usr/local/lib/node_modules/cordova/node_modules/plugman/node_modules/q/q.js:574:44
    at flush (/usr/local/lib/node_modules/cordova/node_modules/plugman/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:415:13)

如果我使用 github 链接,我会得到同样的错误:

$ cordova plugin add https://github.com/phonegap-build/BarcodeScanner
Fetching plugin from "https://github.com/phonegap-build/BarcodeScanner"...
Starting installation of "com.phonegap.plugins.barcodescanner" for ios
Preparing ios project

/usr/local/lib/node_modules/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
SyntaxError: Unexpected token

对于插件的原始版本,我也得到了相同的结果:

$ cordova plugin add https://github.com/wildabeast/BarcodeScanner

我找到了一个关于 problem in phonegap 3.0.0 的帖子,但 https://github.com/jonathannaguin/BarcodeScanner 仍然给我同样的错误。

我猜重要的部分是cannot find "/path/app/plugins/com.phonegap.plugins.barcodescanner/src/ios/CDVBarcodeScanner.mm" ios。有什么想法可以深入研究并使其发挥作用吗?

更新

org.apache.cordova.console 遇到了同样的问题。另外,如果我使用phonegap local plugin add ...

我注意到www/config.xmlplatforms/ios/www/config.xml 坏了。文件末尾有一些二进制空白空间可以删除。可能有messed up with phonegap itself的东西。

【问题讨论】:

【参考方案1】:

问题是由我所在的目录引起的。如果我执行cd ~ 并运行相同的命令,它就可以工作!

我在 \Volumes/www 中,有一个安装在 smbfs 上的 samba 共享

【讨论】:

以上是关于Phonegap 3.3.0 无法添加任何插件的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 条码扫描仪无法识别 windows phone 上的任何条码

如何在phonegap中为ios添加插件?

inAppBrowser 插件不适用于 Phonegap 3.3.0 和 iOS

Phonegap 3.3.0 iOS FileSystem 插件未触发完成、进度或错误

使用 Phonegap 3.3.0 for ios 访问文件

cordova pushplugin 无法在 iOS 中获取设备令牌