“cordova平台添加android”shasum错误

时间:2014-09-11 23:25:53

标签: cordova

我正在完成设置和HelloWorld示例 http://cordova.apache.org/docs/en/3.5.0//guide_cli_index.md.html#The%20Command-Line%20Interface 在Debian上稳定并在命令中遇到问题

cordova platform add android

输出错误信息是:

npm http GET https://registry.npmjs.org/cordova-android/-/cordova-android-3.6.1.tgz
Unable to fetch platform android: Error: shasum check failed for .../tmp/npm-29259-W2mnHZlo/1410473956287-0.27467933809384704/tmp.tgz
Expected: b9138a0743c4f424ee62721c22dac84e8d1ca087
Actual:   a5c74dea5a0225566e4a54185d8639a7f7f6ac3e

我尝试使用wget来获取     科尔多瓦 - Android的3.6.1.tgz ,但是

shasum cordova-android-3.6.1.tgz

返回与上面相同的a5c ...校验和。我在看     registry.npmjs.org/cordova-android 在浏览器中,它确实指定了b91 ...校验和。

那么,这是一个错误,还是有一个设置可以改变shasum的计算方式? (shasum的-a选项会更改输出,但没有值会产生匹配)。

12sep2014:谢谢。这两个答案都有效,但我没有足够的声誉来支持它们。我有点随意选择了更长的答案作为"官员"纠正一个。

我找到的另一个解决方法是usegit选项:

cordova platform --usegit add android

2 个答案:

答案 0 :(得分:5)

这是一个开放的bug https://issues.apache.org/jira/browse/CB-7526

重新安装cordova

sudo npm install -g cordova

答案 1 :(得分:3)

打包最新的cordova包的NPM分布是错误的 - 显然与https://github.com/npm/npm/issues/5414相关

作为一种解决方法,您可以解压缩下载的cordova-android软件包,然后运行命令

cordova platform add <path_to_cordova_android>

apache.org(https://dist.apache.org/repos/dist/release/cordova/platforms/cordova-android-3.6.1.tgz上的官方软件包的SHA-1校验和与你找到的匹配,所以这不是npm文件损坏的问题,只是发布过程中出错。