2017-07-01 10 views
5

Próbuję zainstalować wtyczkę z Cordova Cordova CLI 7.zainstalować wtyczkę Cordova bez pliku package.json na nim

Ta wtyczka nie posiada plik package.json na nim, więc rzuca błąd podczas dodając go do mojego projektu.

Próbowałem już konwertować plik config.xml za pomocą wtyczki. I działa dobrze na Androida, ale nie działa na iOS. Mam wrażenie, że brakuje mi jakiejś konfiguracji z pliku config.xml w pliku package.json.

Czy istnieje sposób bezpiecznego przekonwertowania pliku config.xml w pliku package.json? lub sposób instalacji za pomocą pliku config.xml?

Dzięki

Odpowiedz

7

Tak, ponieważ Cordova 7, instalacja platform i wtyczki są domyślnie wykonywane przy użyciu cordova-fetch który z kolei wykorzystuje npm zainstalować do dodawania/usuwania modułów. Dlatego pakiet.json jest domyślnie wymagany. Ale powinieneś być w stanie dodać brakujące wtyczki plik package.json za pomocą noFetch parametr , co zmusza Cordova użyć starej metody Zamiast:

cordova plugin add cordova-plugin-camera --nofetch

+0

Używam Cordova 8.0.0, a to nie działa z wieloma wtyczkami. Wśród nich: cordova-plugin-fastrde-checkgps, com.phonegap.plugins.nativesettingsopener, ... –

2

Dla mnie podczas dodawania niestandardowych wtyczki tak jak

cordova plugin add .\custom-plugins\my-plugin --nofetch 

To nie działa na MAC dla mnie z jakiegoś powodu.

Uciekam się za zbudowanie wszystkiego dla Androida, a następnie skopiowanie wszystkich plików, z wyjątkiem node_modules i platform, a następnie zrobienie 'cordova build ios' wydaje się dobrze budować z dołączonymi niestandardowymi wtyczkami. Nie jest to najlepszy sposób, jaki znam, ale po dodaniu wtyczki mogę przejść dalej i kontynuować. Jeśli go uruchomisz, udostępnij.

+0

Jaki komunikat o błędzie pojawia się na komputerze Mac podczas uruchamiania dodatku plugin powyżej? Czy działa dla zdalnych wtyczek? – Edin

+0

Błąd: Rejestr zwrócił 404 dla GET na https://registry.npmjs.org/my.package i jest to ten sam błąd, ponieważ nie użyłem --nofetch – Dezza

+0

Nie wiem, czy jest to związane z twoim konkretny przypadek, ale problem może być związany z pierwszą próbą dodania wtyczki bez parametru nofetch. Najprawdopodobniej pozostawia to ślady w jednym lub więcej z: npm cache, config.xml, package.json, node_modules /, plugins/& platforms /. Wykrywane jest to w kolejnych operacjach związanych z tą samą wtyczką, co prowadzi do użycia pobierania/npm nawet przy użyciu nofetch. Spróbuj: 1. Np cache clean 2. Usuń wszystkie odniesienia do wadliwej wtyczki cordova z plików i katalogów wymienionych powyżej. Ponadto: Upewnij się, że masz węzeł> = 6 – Edin

Powiązane problemy