Phonegap安装错误(npm)

时间:2014-06-06 14:16:31

标签: windows node.js cordova npm

我一直在寻找解决方案两天,现在在我的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时遇到问题的解决方案,但没有任何作用。

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

提前致谢。

5 个答案:

答案 0 :(得分:10)

下载旧版本。我认为新版本存在问题

npm install -g phonegap@3.4

我试过这个并为我工作。

答案 1 :(得分:6)

昨天我遇到了同样的问题。如果您检查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存储库并执行了以下步骤:

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

    npm install -g path/to/archive/phonegap-cli-master.tar.gz
    
  8. 现在应该可以了。

    希望有所帮助!

答案 2 :(得分:4)

今天我在Mac上遇到了类似的问题,即使在洛伦佐说它应该没问题之后。刚刚运行:

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

......它似乎神奇地工作。

答案 3 :(得分:2)

问题

我们发布了对cordova-lib分支的依赖。当许多请求通过时,这个分支似乎不可用(我认为)。无论如何,它是不可靠的。 将依赖项更改为0.21.3将导致命令失败,但允许安装。

解决方案

  1. 更新&#cord;-cordova-lib&#39;依赖于npm发布的版本&#39; 0.21.3&#39; **注意,这将允许安装,但其他phonegap命令将失败

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

  3. 暂时进行更新

    <强>更新 我们推动了应该解决此问题的3.5.0-0.20.3版本

    $ npm update -g phonegap
    

    如果不起作用,请尝试

    $ npm cache clean
    

    并重新安装phonegap

答案 4 :(得分:1)

我尝试了以上comamnds npm cache clear并重新安装了phoegap。它下载了所有的lib但没有下载命令行脚本(phonegap命令的版本仍为3.4)。我发现更好的是给命令:npm install -g cordova(v 3.5)!