मैंने यहाँ Heroku पर नोड.js के लिए मूल आरंभ करने के निर्देशों का पालन किया:
https://devcenter.heroku.com/categories/nodejs
ये निर्देश आपको एक .गितिग्नोर नोड_मॉड्यूल्स बनाने के लिए नहीं कहते हैं, और इसलिए इसका अर्थ है कि नोड_मॉड्यूल्स को जांचना चाहिए। जब मैं git में nm_modules शामिल करता हूं, तो मेरे द्वारा शुरू किया गया एप्लिकेशन सही तरीके से चला।
जब मैंने निम्न उन्नत उदाहरण का अनुसरण किया:
https://devcenter.heroku.com/articles/realtime-polyglot-app-node-ruby-mongodb-socketio https://github.com/mongolab/tractorpush-server (source)
इसने मुझे .itignore से node_modules जोड़ने का निर्देश दिया। इसलिए मैंने git से नोड_मॉड्यूल्स को हटा दिया, इसे .gitignore में जोड़ दिया, फिर पुन: परिनियोजित किया गया। इस बार की तरह तैनात विफल:
-----> Heroku receiving push
-----> Node.js app detected
-----> Resolving engine versions
Using Node.js version: 0.8.2
Using npm version: 1.0.106
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
Error: npm doesn't work with node v0.8.2
Required: node@0.4 || 0.5 || 0.6
at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23
at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)
at Module._compile (module.js:449:26)
Error: npm doesn't work with node v0.8.2
Required: node@0.4 || 0.5 || 0.6
at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23
at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)
at Module._compile (module.js:449:26)
Dependencies installed
-----> Discovering process types
Procfile declares types -> mongod, redis, web
-----> Compiled slug size is 5.0MB
-----> Launching... done, v9
"हेरोकू पीएस" चलाना दुर्घटना की पुष्टि करता है। ठीक है, कोई समस्या नहीं है, इसलिए मैंने परिवर्तन को वापस ले लिया, वापस git रिपॉजिटरी में नोड_मॉड्यूल जोड़ें और इसे .ignignore से हटा दिया। हालाँकि, श्रद्धा करने के बाद भी मुझे तैनाती पर वही त्रुटि संदेश मिलता है, लेकिन अब एप्लिकेशन फिर से सही तरीके से चल रहा है। चल रहा है "heroku ps" मुझे बताता है कि आवेदन चल रहा है।
तो मेरा सवाल यह है कि ऐसा करने का सही तरीका क्या है? नोड_मॉड्यूल शामिल करें या नहीं? और रोलबैक करने पर मुझे अभी भी त्रुटि संदेश क्यों मिल रहा है? मेरा अनुमान है कि गिट रिपॉजिटरी हरकोक की तरफ एक बुरी स्थिति में है?
node_modules
। हरोकू ऐप्स की जांच न करें ।