2017-05-18 238 views
25

我试图建立一个科尔多瓦iOS应用,但没有多少运气并获得奇怪的错误。科尔多瓦错误:您的iOS平台没有Api.js

Using this version of Cordova with older version of cordova-ios is deprecated. Upgrade to [email protected] or newer.

Error: Your ios platform does not have Api.js

的第一个警告说,我cordov-IOS版本是旧的,这是奇怪,这是我的输出:

$ cordova --version 
7.0.1 



$ cordova platform version ios 

Installed platforms: 
    ios 4.4.0 
Available platforms: 
    android ~6.2.2 
    blackberry10 ~3.8.0 (deprecated) 
    browser ~4.1.0 
    osx ~4.0.1 
    webos ~3.7.0 

所以我清楚地拥有最新版本的必要。

然后是Api.js错误。这是什么造成的?

Error: Your ios platform does not have Api.js

任何想法?

+0

您_cordova-ios_是deprecated..not科尔多瓦CLI ..也许尝试'科尔多瓦平台添加IOS @ latest'? –

+1

谢谢suraj。但是我的cordova-ios版本是4.4.0,那么它如何被弃用?这是最新的不? – andy

+0

@andy请接受为您工作的答案,至少您接受的答案将有助于某人。谢谢 –

回答

18

我猜,试图使用过时的代码是看到错误消息的原因。

看来,一个应该使用最新版本的节点。我还为Xcode执行了所有的软件更新。我也将我的iPhone连接到我的电脑。即使之后(我升级的节点之前),我仍然看到这一点:

cordova platform add ios 

Warning: using node version v0.12.0 which has been deprecated. Please upgrade to the latest node version available (v6.x is recommended). 
Using cordova-fetch for [email protected]^4.4.0 
Adding ios project... 
Error: Your ios platform does not have Api.js 

于是我决定updating node解决的警告。最后的成功:

sudo n latest 
node --version 
=> v8.0.0 

cordova platform rm ios 
cordova platform add ios 

Using cordova-fetch for [email protected]~4.4.0 
Adding ios project... 
Creating Cordova project for the iOS platform: 
    Path: platforms/ios 
    Package: com.example.hello 
    Name: HelloWorld 
iOS project created with [email protected] 
Installing "cordova-plugin-whitelist" for ios 
--save flag or autosave detected 
Saving [email protected]~4.4.0 into config.xml file ... 
+0

我用这种“您的iOS平台没有Api.js”错误挣扎,这次终于修复了我。我是构建远程使用Visual Studio和在Mac OS更新节点固定的问题对我来说。谢谢。 –

+0

我在浏览器解决方案也有类似的问题,同样的工作 – Tejas

+0

我试图科尔多瓦平台RM /添加机器人.......无法安装“mx.ferreyra.callnumber”:错误[ERR_UNHANDLED_ERROR]:未处理的错误。 (平台“.gradle”似乎不是一个有效的科尔多瓦平台。它缺少API.js. .gradle不支持。)我在Ubuntu版本: +节点-v v9.2.1 +科尔多瓦-v 7.1.0 + NPM -v 5.5.1 + gradle这个-v ----------- ------------------------------------------------- Gradle 3.3 –

37

我正好具有这个问题,但管理简单地删除并加入我的项目中的IOS平台来解决这个问题:

cordova platform rm ios 
cordova platform add ios 

这似乎解决科尔多瓦更新任何时候都不知何故破...

+1

我试过这种方法,但它对我不起作用。显式更新节点似乎是我的情况中的关键点。 –

+1

没有sudo访问'科尔多瓦平台RM ios'将提供以下错误'RM:无法删除目录(代码ENOTEMPTY):/用户/ XYZ/ABC /平台/ ios' - 使用sudo它的工作。 –

+0

但你需要'chown'文件回用户 –

0

使用[email protected]解决了这个问题

+0

这不提供问题的答案。一旦你有足够的[声望](https://stackoverflow.com/help/whats-reputation),你就可以[对任何帖子发表评论;](https://stackoverflow.com/help/privileges/comment) ,[提供不需要提问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an-i -DO-代替)。 – mrun

+0

没有解决我 –

+0

这解决了我的问题。谢谢。 –

2

具有与科尔多瓦的最新版本的同一个问题(7.0.1)

面对错误,同时加入iOS平台和管理,解决它通过升级来的NodeJS最新版本(6.11.1)

+0

谢谢你。升级到6.9.2的v6 LTS版本也适用于我。 – c0bra

+0

@ c0bra很高兴这很有帮助。干杯 – Gandhi

+0

我有$ node -v v7.10.1 .....仍然面临同样的问题 –