2013-04-21 15 views
5

Zbudowałem małe rozszerzenie Chrome - pokazuje ono Twoje IP i informacje o geolokalizacji. Przetestowałem go kilka razy, zapakowałem (używając Grunta) i przesłałem do sklepu internetowego Chrome. Kilkakrotnie zweryfikowałem, że wynikowy plik zip zawiera wszystkie pliki wymagane przez aplikację + manifest.Komunikat o błędzie instalacji rozszerzenia Chrome:

Następnie usunąłem moją lokalną wersję i spróbowałem zainstalować ją ze sklepu internetowego. Wciąż dostaję ten błąd, nawet po odświeżeniu i ponownym uruchomieniu przeglądarki kilkakrotnie:

. „Nie był to problem dodając ten przedmiot Chrome Proszę odświeżyć stronę i spróbuj ponownie”

enter image description here

Jak debugować/rozwiązać ten problem?

  • Kod do mojego rozszerzenia jest bardzo prosta, a właściwie jest otwarty na GitHub.
  • Plik manifestu jest dostępny here.
  • Rozszerzenie jest dostępne w sklepie Chrome here.

Aktualizacja:

Patrząc na konsoli JS, widzę błąd za każdym razem nacisnąć przycisk Zainstaluj:

webstorePrivate.beginInstallWithManifest3: Nieprawidłowy manifest

Brak dalszych informacji, a dla mnie plik manifestu wygląda dobrze (i działa, gdy jest załadowany lokalnie).

Odpowiedz

3

OK, trochę potrwało, ale znalazłem winnego i naprawiłem. Użyłem Yeomana i Generator-Chrome-Extension do załadowania rozszerzenia. Jednym z zadań w Gruntfile.js brzmi tak:

grunt.registerTask('manifest', function() { 
     var manifest = grunt.file.readJSON(yeomanConfig.app + '/manifest.json'); 
     //manifest.background.scripts = ['scripts/background.js']; 
     grunt.file.write(yeomanConfig.dist + '/manifest.json', JSON.stringify(manifest, null, 2)); 
    }); 

Jak widać na trzecim (komentarzem) linii, zadanie wstrzykuje skrypt background.js nawet jeśli nie jest to potrzebne. Co więcej, jeśli ty, tak jak ja, użyjesz tła, będzie to renderować niepoprawny plik manifestu.

Z jakiegoś powodu będzie działać lokalnie, ale nie ze sklepu. Po skomentowaniu tej linii manifest jest ważny, a rozszerzenie dostępne.

+1

Wziąłem swój kod bezpośrednio i nie miał problemów z umieszczeniem go lokalnie więc próbowałem publishing to tylko dla mnie i nie mam problemów z instalowaniem go ze sklepu bez zmiany niczego poza twoimi katalogami. Dokładnie zrobiłem katalog 'app' jako katalog główny rozszerzenia, kiedy go skompresowałem. – BeardFist

+1

Tak, też mnie to zaskoczyło. Jeśli spojrzysz na moje rozwiązanie, zobaczysz, że Gruntfile hartuje się z manifestem. Dobra wiadomość jest taka, że ​​ten, kto utrzymuje ten generator, już to naprawił. –

+1

Powinieneś zaakceptować odpowiedź teraz :) – Ryan

2

Miałem ten sam problem. Usunąłem:

"app": { 
    "urls": [ 
    ], 

Z pliku Manifest.json i działa. Mam nadzieję że to pomoże.

1

Miałem ten sam problem i logowałem się z proxy i problem został naprawiony.

Spróbuj proxy, jak sądzę.

Powiązane problemy