2014-04-01 6 views
7

मैं बिना किसी समस्या के कुछ हफ्तों के लिए अपने एनडब्ल्यू ऐप के साथ काम कर रहा हूं। मैं अन्य सहकर्मियों को परीक्षण के लिए अपने रेपो में लाने शुरू कर रहा हूं और मैंने निर्भरता को मैन्युअल रूप से स्थापित करने के लिए मजबूर करने के बजाय एक स्थापित स्क्रिप्ट लिखने का निर्णय लिया है। आज, परीक्षण करने के लिए स्क्रिप्ट स्थापित चलाने के बाद, मैं अपने एप्लिकेशन चला की कोशिश की और निम्न त्रुटि मिला:, या मेरे package.json फाइल करने के लिएरनिंग नोडवेबकिट ऐप के साथ विफल रहता है: अवैध पैकेज.जेसन फ़ील्ड 'मुख्य' की आवश्यकता है त्रुटि

Invalid package.json 
Field 'main' is required. 

मैं अपने आवेदन करने के लिए कोई परिवर्तन नहीं किए। मैं यह पता लगाने नहीं कर सकते कि समस्या क्या कारण हो सकता है, लेकिन वहाँ जो इस बारे में बात करती एनडब्ल्यू के GitHub रेपो पर एक खुला मुद्दा होना दिखाई देता:

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

मुझे आश्चर्य है अगर किसी और को इस सामना कर रहा है, और इस मुद्दे को हल करने के लिए आपने क्या किया होगा?

यहां मेरे ऐप के बारे में कुछ प्रासंगिक जानकारी दी गई है।

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

मैं nodewebkit खुद के लिए संस्करण प्राप्त करने की कोशिश की है, लेकिन आदेश nodewebkit एक संस्करण ध्वज प्रदान नहीं करता है।

स्थापित खोल स्क्रिप्ट

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 

मेरे निर्देशिका (रूट से) पेड़:

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

मेरे अंतरतम package.json फ़ाइल, अपने मुख्य अनुप्रयोग निर्देशिका के भीतर:

{ 
    "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" 
} 

और यहां बाहरीतम पैकेज है। जेसन:

{ 
    "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" 
    } 
} 

उत्तर

9

तो, nodewebkit repo में इसके लिए एक बग लॉग है, लेकिन मुझे अभी के लिए एक समाधान मिला है। Nodewebkit निर्देशिका में node_modules निर्देशिका (जहां nodewebkit स्थापित है) में जाएं, और package.json को _package.json पर पुनर्नामित करें।

ऐसा लगता है कि पैकेज.जेसन और फ़ाइलों के पढ़ने के क्रम में एक संघर्ष है।

तो सीडी [नोड मॉड्यूल के लिए पथ]/node_modules/nodewebkit जैसे कुछ; mv package.json _package.json 'इसे करना चाहिए।

कृपया ध्यान दें: यह सिर्फ एक वैकल्पिक हल, वे एक ठीक (उम्मीद) को रिहा किया जाना चाहिए है जल्द ही, लेकिन वे करते हैं जब तक ...

+0

यह मेरे लिए काम करता है। धन्यवाद। –

संबंधित मुद्दे