2014-04-01 6 views
7

Pracuję z moją aplikacją NW przez kilka tygodni bez problemu. Zaczynam wprowadzać innych współpracowników do mojego repozytorium do testowania i postanowiłem napisać skrypt instalacyjny zamiast zmuszać ich do ręcznego instalowania zależności. Dziś, po uruchomieniu skryptu instalacji w celu przetestowania, próbowałem kolejny mój app i uzyskałem następujący błąd:Uruchamianie aplikacji NodeWebkit kończy się niepowodzeniem z: Niepoprawny pakiet.json Pole "główny" jest wymagane Błąd

Invalid package.json 
Field 'main' is required. 

I wprowadzono żadnych zmian do wniosku lub do mojego pliku package.json. Nie mogę dowiedzieć się, co może być przyczyną tego problemu, ale nie wydaje się być kwestią otwartą o NW za GitHub repo, które mówi o tym:

https://github.com/rogerwang/node-webkit/issues/1503

Zastanawiam się, czy ktoś doświadcza tego, a co mogłeś zrobić, aby rozwiązać ten problem?

Oto kilka istotnych informacji na temat mojej aplikacji.

node-webkit: v0.8.5 
node.js: v0.10.22 
Chromium: 30.0.1599.66 
bower: 1.3.1 
yeoman: 1.1.2 

Próbowałem dostać wersję dla samego nodewebkit, ale polecenie nodewebkit nie oferuje flagę wersji.

Instalator skrypt

npm install bower -g 
npm install yeoman -g 
npm install generator-node-webkit -g 
npm install nodewebkit -g 
npm install grunt-cli -g 
bower install 
npm install 

Moje drzewo katalog (root):

├── Gruntfile.js 
├── app 
│ ├── css 
│ │ ├── main.css 
│ ├── index.html 
│ ├── js 
│ │ ├── application.js 
│ └── package.json 
├── bower.json 
├── package.json 

Moja najgłębsza plik package.json, w moim głównym katalogu aplikacji:

{ 
    "name": "directory", 
    "main": "index.html", 
    "version": "0.0.1", 
    "single-instance": true, 
    "window": { 
     //"toolbar": false, 
     "title": "Directory", 
     "width": 850, 
     "height": 600, 
     "min_width": 850, 
     "min_height": 600 
    }, 
    "chromium-args": "--child-clean-exit" 
} 

A oto najbardziej zewnętrzny pakiet.json:

{ 
    "name": "directory", 
    "version": "0.0.0", 
    "main": "app/index.html", 
    "description": "", 
    "keywords": [], 
    "dependencies": { 
    "xls-to-json": "~0.2.0" 
    }, 
    "devDependencies": { 
    "matchdep": "~0.1.2", 
    "grunt": "~0.4.1", 
    "grunt-contrib-copy": "~0.4.1", 
    "grunt-contrib-sass": "~0.4.1", 
    "grunt-contrib-concat": "~0.1.3", 
    "grunt-contrib-jshint": "~0.4.3", 
    "grunt-contrib-clean": "~0.4.1", 
    "grunt-contrib-rename": "0.0.3", 
    "grunt-contrib-compress": "~0.5.3", 
    "xls-to-json": "~0.2.0" 
    }, 
    "engines": { 
    "node": ">=0.8.0" 
    } 
} 

Odpowiedz

9

Jest to błąd wykryty w repozytorium nodewebkit, ale na razie znalazłem obejście tego problemu. Przejdź do katalogu node_modules (gdzie jest zainstalowany nodewebkit) w katalogu nodewebkit i zmień nazwę package.json na _package.json.

Wygląda na to, że istnieje konflikt z plikiem package.json i kolejność odczytu plików.

Więc coś w stylu "cd [ścieżka do modułów węzła]/node_modules/nodewebkit; mv package.json _package.json" powinien zrobić.

UWAGA: to tylko obejście, należy je uwalniając poprawkę (miejmy nadzieję) wkrótce, ale dopóki nie robią ...

+0

Działa to dla mnie. Dzięki. –

Powiązane problemy