2017-05-18 213 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 .....仍然面臨同樣的問題 –