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)的主要内容,如果未能解决你的问题,请参考以下文章
Cordova/PhoneGap:安装 calendarPlugin 后出现链接器错误