2011-07-11 11 views
16

मुझे अपनी कार्य मशीन पर स्पाइडरमॉन्की जेएस इंजन स्थापित करने की आवश्यकता है। जिस परियोजना पर मैं काम कर रहा हूं वह एक jslint स्क्रिप्ट है जिसके लिए स्पाइडरमोनकी या इसी तरह की जेएस बाइनरी की आवश्यकता होती है। मैंने स्रोत से स्पाइडरमॉन्की को संकलित करने की कोशिश की है और निर्भरता नरक में फंस गया है। मैंने उबंटू रिपॉजिटरीज़ से राइनो पैकेज स्थापित करने का प्रयास किया, और यह धीमा और टूटा हुआ हो गया। आज सुबह, मैं सफलतापूर्वक गूगल के वी 8 इंजन संकलित और यहां निर्देशों का अनुसरण बनाया v8jslint:उबंटू पर spidermonkey js पाने का सबसे अच्छा तरीका?

http://blog.stevenreid.co.uk/2011/06/27/jslint-command-line-tool-powered-by-v8/

v8jslint काम करता है, लेकिन केवल एक समय में एक फ़ाइल फाहा होगा। उदाहरण के लिए,

$ v8jslint foo/*.js 

अगर मैं foo के तहत a.js, b.js और c.js है, v8jslint केवल फाहा a.js. आसान फिक्स: मैं इसके लिए एक बैश स्क्रिप्ट लिख सकता था। एक बड़ी समस्या यह है कि v8jslint हमारे बिल्ड सर्वर पर Spidermonkey jslint के साथ संगत नहीं है। क्या किसी ने उबंटू के हाल के संस्करण पर स्पाइडरमॉन्की की कोई सफलता हासिल की है, या एक अच्छा कामकाज पता है?

+0

क्या मैं पूछ सकता हूं कि "v8jslint स्पाइडरमॉन्की jslint के साथ संगत नहीं है" कृपया? – Steve

+0

"v8jslint हमारे बिल्ड सर्वर पर Spidermonkey jslint के साथ संगत नहीं है।" यही है, स्पाइडरमॉन्की के लिंट में कुछ त्रुटियां होंगी जो v8 याद करती है और इसके विपरीत। तो मुझे नहीं पता कि अगर बिल्ड v8 है और सर्वर spidermonkey चलाता है तो बिल्ड पास होगा या नहीं। – ovrkenthousand

उत्तर

16

इसे फिक्स्ड। आपको 'autoconf2.13' पैकेज की आवश्यकता है। इसे apt-get के साथ स्थापित करें। मोज़िला पर स्पाइडरमोन्की स्रोत कोड पेज पर जाएं। एचजी भंडार (नीचे लिंक) खोजें और मोज़िला पेड़ का एक स्नैपशॉट डाउनलोड करें। इसे क्लोन न करें, बस शीर्ष बार से .tar.gz या .tar.bz2 के रूप में संग्रह प्राप्त करें।

http://hg.mozilla.org/index.cgi/mozilla-central/file/tip

खोल दो संग्रह और रूट निर्देशिका में सीडी।

$ cd js/src 
$ autoconf2.13 
$ ./configure 
$ make 

इसे जेएस नामक बाइनरी बनाना चाहिए। किसी कारण से, जब मैंने भाग लिया, तो इंस्टॉल किया, उसने जेएस को/bin/में कॉपी नहीं किया। मैं बस symlinked/bin/js को इंगित करने के लिए ~ /.../ मोज़िला/जेएस/src/js। एक प्रकार का वृक्ष स्क्रिप्ट अब काम करते हैं और मैं एक का निर्माण शुरू करने के लिए अब और फाहा त्रुटियों को ठीक करने की जरूरत नहीं है: पी

स्रोत:

https://developer.mozilla.org/en/SpiderMonkey_Build_Documentation

नोट: आदेश autoconf-2.13 के लिए ऊपर दिए गए लिंक कॉल। मुझे लगता है कि यह एक टाइपो है; जैसा कि मैंने कोड में लिखा था, आप autoconf2.13 का उपयोग करना चाहते हैं।

+0

यह एक टाइपो नहीं है, आर्कलिंक्स पर इसे वास्तव में 'ऑटोकॉन्फ-2.13' कहा जाता है। यह आपके distro पर निर्भर करता है, मुझे लगता है। –

5

इसके अलावा, (#2: spidermonkey-bin not availble in Ubuntu Lucid - Issues - hallettj/jslint.vim - GitHub के माध्यम से), PPA for Launchpad Engineering : “Canonical Launchpad Engineering” team उपयोग कर सकते हैं:

sudo add-apt-repository ppa:launchpad/ppa 
sudo apt-get update 
sudo apt-get install spidermonkey-bin 
apt-cache show spidermonkey-bin 
sudo apt-get install spidermonkey-bin # also installs extra: libmozjs2d 

# .. and then: 
$ js --help 
JavaScript-C 1.8.0 pre-release 1 2007-10-03 
usage: js [-zKPswWxCij] [-t timeoutSeconds] [-c stackchunksize] [-o option] [-v version] [-f scriptfile] [-e script] [-S maxstacksize] [scriptfile] [scriptarg...] 
$ js 
js> var f = function(){ print("the answer is " + 42); }; 
js> f(); 
the answer is 42 
js> ^C 
$ 
+1

मुझे वहां सूचीबद्ध स्पाइडरमोनकी-बिन दिखाई नहीं देता है। क्या उन्होंने इसे छोड़ दिया, या क्या मुझे कुछ याद आ रहा है? – nealmcb

+1

@nealmcb ऐसा लगता है कि हटा दिया गया है। – drusepth

6

अद्यतन:

Spidermonkey-बिन की तरह लग रहा लॉन्चपैड पीपीए

प्लस v8jslint के माध्यम से अब उपलब्ध नहीं है जब मैंने इसे क्लोन करने की कोशिश की तो रेपो नीचे था।

18

आप स्रोत से बना सकते हैं, लेकिन स्पाइडर बंदर अभी भी उबंटू पर उपलब्ध है, यह अभी renamed to "libmozjs" है। स्थापित करें "libmozjs-24-बिन" और फिर या तो इसलिए की तरह "js24" या सिमलिंक/usr/bin/js24 करने के लिए "जे एस" ही कहते हैं,:

sudo apt-get install libmozjs-24-bin; sudo ln -sf /usr/bin/js24 /usr/bin/js 
+0

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

+5

'sudo apt-get libmozjs-24-bin स्थापित करें; sudo ln -sf/usr/bin/js24/usr/bin/js' –

+1

@ कैमरॉनगगार्ट बहुत बहुत धन्यवाद, मैंने उत्तर में आपकी टिप्पणी जोड़ दी। – iFreilicht

3

पैकेज libmozjs-24-bin स्थापित करें। इसमें स्पाइडरमॉन्की जावास्क्रिप्ट खोल बाइनरी /usr/bin/js24 है जिसे आप js कमांड के विकल्प के रूप में स्थापित किया जा सकता है।

sudo apt-get install libmozjs-24-bin 
sudo update-alternatives --install /usr/bin/js js /usr/bin/js24 10 
संबंधित मुद्दे