2013-07-30 42 views
5

当我添加一个插件到3.0.0 phonegap项目与Android平台,我有一个错误事件,即使添加了一堆插件的文件。除了添加该错误之外,Android清单永远不会使用正确的授权进行更新。Phonegap添加插件失败(errno 34)*/plugin.xml

$ cordova plugin ls 

No plugins added. 'Use cordova plugin add <plugin>'. 

$ sudo cordova plugin add "http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git" 

{ [Error: ENOENT, no such file or directory '/tmp/plugman-tmp1375200648427/*/plugin.xml'] 

    errno: 34, 

    code: 'ENOENT', 

    path: '/tmp/plugman-tmp1375200648427/*/plugin.xml', 

    syscall: 'open' } 

$ cordova plugin ls 

[ 'org.apache.cordova.core.media-capture' ] 

回答

2

我有同样的问题,经过一番调试和测试,我终于解决了这个问题:

  1. 打开 C:\Users\<user>\AppData\Roaming\npm\node_modules\cordova\node_modules\plugman\src\util\plugins.js

  2. 查找var cmd = util.format('git clone "%s" "%s"', plugin_git_url, path.basename(tmp_dir));(第42行ATM)

  3. var cmd = util.format('git clone "%s" "%s"', plugin_git_url, tmp_dir);更换。

这将使得git clone克隆到绝对tmp路径而不是相对路径。

+0

这很有用,我意识到最初当我安装科尔多瓦时,我看到一个警告:'npm WARN engine [email protected]:wanted:{“node”:“> = 0.9 .9“}(current:{”node“:”v0.8.22“,”npm“:”1.2.14“})'然后我升级到最新版本的节点,但没有重新运行'sudo npm install -g cordova'命令。重新运行这个命令(因为这个帖子让我怀疑插件管理员)调整或修复了它需要的任何东西,让我继续! – pulkitsinghal

4

我与Connection插件有同样的问题。一旦我从“cordova插件添加”更改为“phonegap本地插件添加”,它工作正常。

$ phonegap local plugin add http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git 
+1

你的意思是说你把它从“cordova plugin add”改为“phonegap local plugin add”? – aharris88

+1

@Fernando你介意回应吗?你的回答毫无意义 –

+0

他的意思是他使用CLI的phonegap版本而不是cordova CLI。 – Purus

1

我收到了类似的错误。我解决了问题,通过移除媒体捕获插件,安装该文件的插件,然后重新安装媒体捕获插件

cordova plugin rm org.apache.cordova.media-capture 
cordova plugin add org.apache.cordova.file 
cordova plugin add org.apache.cordova.media-capture 

也许媒体捕捉依赖于文件的插件。

0

事实证明我的代理真的很奇怪。可能会使数据压缩,导致数据损坏。在完全卸载cordova之后,通过手机进行分享解决了问题。

5

我也面临着同样的错误:

假设,如果你想添加摄像头插件,然后,而不是给:

科尔多瓦插件添加科尔多瓦 - 插件相机

使用

phonegap plugin add cordova-plugin-camera

然后它会正常工作

相关问题