Phonegap 安装错误 (npm)

Posted

技术标签:

【中文标题】Phonegap 安装错误 (npm)【英文标题】:Phonegap installation error (npm) 【发布时间】:2014-07-27 20:25:16 【问题描述】:

我这两天一直在寻找解决方案来在我的 Windows 8.1 上设置 Phonegap 系统没有任何成功。

每当我尝试通过 npm 安装 Phonegap 时,我都会收到一个我认为必须做的错误 使用 Cordova(-lib)。

要安装 Phonegap,我必须在我的系统上安装 Node.js (v0.10.28)。之后,我打开 Windows Powershell 并按照 Phonegap 网站上的说明发出以下命令:

npm install -g phonegap

输出:(这是错误的唯一部分)

error notarget No compatible version found: cordova-lib@'lorinbeer/cordova-lib.git#configparser_module'
error notarget Valid install targets:
error notarget ["0.21.2","0.21.3"]
error notarget
error notarget This is most likely not a problem with npm itself.
error notarget In most cases you or one of your dependencies are requesting
error notarget a package version that doesn't exist.

我也尝试通过 npm 安装 Cordova,然后安装 Phonegap,但是 也没有解决任何问题。

以管理员权限运行 Powershell 也无济于事,并尝试了其他在设置 Phonegap 时也遇到问题的人的解决方案,但没有任何效果。

我真的希望有人可以在这里帮助我。

提前致谢。

【问题讨论】:

今天同样的问题。 问题是github中的cordova-lib版本,"version": "0.21.4-dev" github.com/lorinbeer/cordova-lib/blob/master/cordova-lib/… 这可能刚刚修复:github.com/lorinbeer/cordova-lib/releases/tag/pg.3.5.0 @dylants,确实,我认为我们应该稍等一下,直到他们应用了 3.5.0 支持。感谢您的了解。 【参考方案1】:

下载旧版本。我觉得新的有问题

npm install -g phonegap@3.4

我试过这个并为我工作。

【讨论】:

- 这对我有用,接受的答案看起来太复杂了 安装 Phonegap 3.4 也适用于我。但在此之前我必须运行npm cache clean 它也对我有用,但之后如果我尝试运行:phonegap create my_app,它会显示错误,缺少库 com.phonegap.helloworld/www/3.4.0【参考方案2】:

我昨天遇到了同样的问题。如果您检查 npm-debug.log,您会注意到当 npm 尝试访问 cordova-lib git 存储库 url 时存在权限问题(“权限被拒绝”)。实际上,cordova-lib 是 phonegap 的依赖项。因此,它无法安装它,我认为这就是您收到该错误的原因。

所以,我尝试了这个:先安装cordova-lib,然后再安装Phonegap。但是,它仍然不起作用;在尝试执行之前,npm 似乎没有检查是否安装了 cordova-lib。 此时,我可以做的是更改它从中检索cordova-lib 的存储库。这是 NPM 安装语法:

npm install <tarball file>
npm install <tarball url>
npm install <folder>
npm install <pkg>
npm install <pkg>@<tag>
npm install <pkg>@<version>
npm install <pkg>@<version range>

这意味着我可以从 tar.gz 文件安装。伟大的!所以,我只是去这个页面https://www.npmjs.org/package/phonegap检查phonegap存储库并执行了这些步骤:

    下载phonegap-cli repo (https://github.com/phonegap/phonegap-cli/archive/master.zip)的zip 解压 打开 package.json 文件,在依赖项中找到 cordova-lib 条目(第 32 行) 将值更改为 0.21.3,这是最后一个版本。 将该文件夹的存档重新创建为 tar.gz 格式

    打开您的 CLI 并运行以下命令:

    npm install -g path/to/archive/phonegap-cli-master.tar.gz
    

它现在应该可以工作了。

希望有所帮助!

【讨论】:

非常感谢,现在可以使用了!所以你必须先 npm install -g cordova-lib 并将 package.json 中的行重命名为:cordova-lib": "0.21.3", cordova lib 0.21.3 与phonegap 不兼容,尝试安装phonegap 3.5.0-0.21.3 版本【参考方案3】:

我今天在 Mac 上也遇到了类似的问题,即使 Lorenzo 说应该没问题。运行这个:

sudo npm install -g phonegap

...产生了很多这样的错误:

error: file ./objects/pack/pack-48c0ff4147fb7e8922546c4a857b98a1cb48e01f.pack is far too short to be a packfile

我结合了 Lorenzo 和 arpan shah 的解决方案:

sudo npm install -g phonegap@3.4
sudo npm cache clean
sudo npm update -g phone gap

...它似乎神奇地起作用了。

【讨论】:

【参考方案4】:

问题

我们发布时依赖于 cordova-lib 的一个分支。当大量请求通过时(我认为),这个分叉似乎不可用。无论哪种方式,它都是不可靠的。 将依赖项更改为 0.21.3 会导致命令失败,但会允许安装。

解决方案

    将“cordova-lib”依赖更新为 npm 发布版本“0.21.3” **注意,这将允许安装,但其他 phonegap 命令将失败

    等待大约 20 分钟,然后 npm update -g phonegap 测试更新以解决此问题

暂时更新

更新 我们已经推送了 3.5.0-0.20.3 版本,应该可以解决这个问题

$ npm update -g phonegap

如果这不起作用,请尝试

$ npm cache clean

然后重新安装phonegap

【讨论】:

对我也不起作用。我必须安装旧版本 npm install -g phonegap@3.4【参考方案5】:

我尝试了上面的命令 npm 缓存清除并重新安装 phoegap。它下载了所有库,但没有下载命令行脚本(phonegap 命令的版本仍然是 3.4)。我发现最好给出命令:npm install -g cordova (v 3.5)!

【讨论】:

以上是关于Phonegap 安装错误 (npm)的主要内容,如果未能解决你的问题,请参考以下文章

构建phonegap应用插件错误

phonegap 创建不起作用

在安装 phonegap 时,我收到一个错误

Cordova/PhoneGap:安装 calendarPlugin 后出现链接器错误

Phonegap 安装 facebook 插件错误 - facebookconnect.xml 已存在

错误:UNABLE_TO_VERIFY_LEAF_SIGNATURE Phonegap 安装