यह मेरा पहला एसई प्रश्न है। आम तौर पर मैं इस महान वेबसाइट के माध्यम से काफी आसानी से कुछ भी जवाब पा सकता हूं, लेकिन दुर्भाग्यवश इस अवसर पर मुझे यहां या कहीं और, जो कुछ भी मैं ढूंढ रहा हूं, उस पर कुछ भी नहीं मिला। मुझे समस्या की व्याख्या करने दें:नोडोक से नोडोकू पर निष्पादन योग्य कैसे चलाएं, स्थानीय रूप से
मैंने कुछ संख्यात्मक गणना करने के लिए एक सी ++ प्रोग्राम लिखा है। यह कमांड लाइन तर्क लेता है और stdout को लिखता है और ओएसएक्स चलाने वाले मेरे सिस्टम पर ठीक काम करता है।
मैं अपने साथियों को अधिक आसानी से आज़माने के लिए यह ऑनलाइन होस्ट करना चाहता हूं, और इसलिए मैंने कुछ नोड.जेएस और एक्सप्रेस कोड को एक फॉर्म से इनपुट लेने के लिए लिखा और निष्पादन योग्य को कमांड लाइन तर्क के रूप में दिया। अपने स्थानीय मशीन पर
const exec = require('child_process').exec;
app.post('/', function (req, res) {
var input = req.body.numberinput; //Number entered on the webpage
const child = exec('./numericcomp ' + input, {timeout: 20000}, function(error, stdout, stderr) {
//Code here writes stdout to the page
}
}
ऊपर काम करता है पूरी तरह से लेकिन जब मैं यह Heroku को तैनात है और फिर एक इनपुट की कोशिश (यहाँ मैंने कोशिश की 2131) मैं एक मिलता है: मैं तो निम्नलिखित तरीके से बाइनरी 'factoriser' कहा जाता है पर अमल की त्रुटि:
Error: Command failed: ./numericcomp 2131 ./numericcomp: 3: ./numericcomp: Syntax error: word unexpected (expecting ")")
जो निष्पादन में कॉलबैक को दिया जाता है।
तो मुझे वास्तव में नहीं पता कि क्या करना है, मुद्दा यह है कि हेरोोकू ठीक से निष्पादन योग्य नहीं चल रहा है। मैं विशेष रूप से जानबूझकर नहीं जानता कि हेरोोकू कैसे काम करता है, मैंने बिल्डपैक इत्यादि पर जानकारी पढ़ी है, लेकिन यह बाइनरी निष्पादित करने के लिए एक बहुत ही जटिल प्रक्रिया प्रतीत होती है। क्या ऐसा इसलिए है क्योंकि मेरे पास केवल एक डिनो है और यह बाल प्रक्रिया को नहीं चला सकता है?
अगर कोई मुझे सही दिशा में इंगित कर सकता है तो मैं बहुत आभारी हूं, ऐसा लगता है कि मैंने कड़ी मेहनत की है लेकिन अंतिम बाधा नहीं मिल सकती है।