V8 जावास्क्रिप्ट इंजन स्टैंडअलोन चल रहा है


127

मैं V8 के ऊपर एक जावास्क्रिप्ट कंसोल चलाना चाहता हूं। मैं यह कैसे करु?

जवाबों:


115

V8 का निर्माण आसान है और यह मोज़िला के स्टैंडअलोन जावास्क्रिप्ट इंटरप्रेटर से जावा वीएम ओवरहेड के साथ नहीं आता है। सौभाग्य से, V8 एक कंसोल के निर्माण के लिए कोड के साथ जहाज। इसे बनाने का तरीका इस प्रकार है:

$> svn co http://v8.googlecode.com/svn/trunk v8-trunk
...
$> सीडी v8- ट्रंक
$> scons
$> g ++ ./samples/shell.cc -o v8-shell -I में libv8.a शामिल हैं 

अब, हमारे पास एक स्टैंडअलोन बाइनरी कहा जाता है v8-shell

कंसोल चल रहा है:

$> ./v8-shell 
V8 संस्करण 2.0.2
> var x = 10;
> एक्स
10
> फ़ंक्शन फू (एक्स) {रिटर्न एक्स * एक्स; }
> फू
समारोह फू (एक्स) {रिटर्न एक्स * एक्स; }
> छोड़ दिया ()

कमांड लाइन से जावास्क्रिप्ट का निष्पादन:

$> ./v8-shell -e 'प्रिंट ("10 * 10 =" + 10 * 10)'
10 * 10 = 100

कई और सुविधाएँ मदद में दर्ज़ हैं:

$> ./v8-shell --help
उपयोग:
...

9
टिप और स्पष्ट निर्देशों के लिए धन्यवाद। मैं विकल्प जोड़ने के लिए किया था -lpthreadके लिए g++ubuntu 10.04 के तहत आदेश।
intuited

1
उबंटू पर मेरे लिए स्कोनस विफल रहा, लेकिन सुडो एप्ट-गेट स्थापित libc6-dev-i386 ने हल किया।
थोरस्टेन लॉरेंज

2
और एक अपने पर x86_64 करते हैं: 'SCons चाप = 64' तक अपने में तय ट्रंक code.google.com/p/v8/issues/detail?id=429#c1
EDH

4
कृपया ध्यान दें कि यह v8- शेल एक खिलौना उदाहरण है। "वास्तविक" वी 8 शेल कहा जाता है d8। अधिक जानकारी के लिए मेरा जवाब देखें।
१०:११ बजे bukzor

2
स्रोत कोड लाने की विधि बदल गई लगती है। देखें यहाँ
कोलोट

59

उदाहरण के लिए 'शेल' टॉय एप्लिकेशन के बजाय डेवलपर कंसोल बनाने के लिए, अपने टर्मिनल के नीचे दिए गए कमांड को कॉपी-पेस्ट करें।

sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8

ये निर्देश उबंटू / डेबियन के लिए "जेनेरिक" कर्नेल के साथ काम करेंगे। अन्य वितरणों के लिए, आपको apt-get कमांड को बदलने की आवश्यकता होगी जो भी पैकेज टूल आपके पास उपलब्ध है। 64-बिट सिस्टम पर आपको जोड़ना पड़ सकता है arch=x64console=readlineविकल्प को सक्षम किया ReadLine यह एक मानक कवच की तरह थोड़ा और महसूस करने के लिए प्रणाली,।

अधिक पूर्ण प्रलेखन यहां: http://code.google.com/apis/v8/build.html


ध्यान दें:

यहाँ छवि विवरण दर्ज करें

इसे भी देखें: GYP के साथ V8 का निर्माण


9
मुझे arch=x6464 बिट ubuntu पर निर्माण करने के लिए जोड़ना था ।
प्रोजेक्टशैव

@ ह्यूग: यह रीडलाइन सिस्टम को सक्षम करता है; यह वही है जो आपको अन्य आदेशों के बीच पिछली कमान प्राप्त करने के लिए अप एरो का उपयोग करने की अनुमति देता है।
bukzor

एक बार निर्माण समाप्त हो जाने के बाद, शेल को दर्ज करके चलाएं ./d8
मैथियास बिएनेंस

ubunt 12.04 पर: घातक त्रुटि: readline / readline.h: ऐसी कोई फ़ाइल या निर्देशिका नहीं - कोई विचार?
पगडियारियो

44

नोड लाइन का उपयोग करके कमांड लाइन के माध्यम से V8 जावास्क्रिप्ट चलाने के बारे में कैसे ?

यह इंजन के रूप में n.js v8 का उपयोग करता है और इसके शीर्ष पर बहुत अधिक कार्यक्षमता जोड़ता है।


उदाहरण के लिए Mac OSX पर यदि आपने Homebrew स्थापित किया है, तो केवल समस्या:

    $ brew install node
    $ node
    > 

1
जब यह जावास्क्रिप्ट कंसोल पर आता है तो IMHO नोड.जेएस नया डिफैक्टो मानक है। यह v8 का उपयोग करता है, और संभवतः इसके लिए उपयोग करने का सबसे अच्छा विकल्प है।
ट्रैकर 1

23

मैक ओएस एक्स पर brewस्थापित होना सुनिश्चित करें । फिर बस कमांड चलाएं (sudo) brew install v8, आपकी मशीन के आधार पर इसमें कुछ समय लग सकता है। V8 कंसोल को शुरू करने के लिए, बस चलाएं v8- Voilà!

युक्ति: कंसोल को छोड़ने के लिए, बस चलाएं quit()और कोष्ठकों को न भूलें!


1
या बस Ctrl-Dछोड़ने के लिए प्रेस :)
डॉगबर्ट

या Ctrl-Cइसे मारने के लिए
ब्रैडेन बेस्ट

आप अपने आप से v8 का निर्माण कर सकते हैं और यह काफी सरल है, काढ़ा का उपयोग करना बहुत ही बोझिल है।
13:01

4
कैसे 'काढ़ा स्थापित v8' बोझिल है?
देवन बुग्गय

5

मुझे लगता है कि यह बदल गया होगा। मैंने मैनुअल पढ़ा और इस तरह v8 का निर्माण किया:

moose@pc08$ svn co http://v8.googlecode.com/svn/trunk v8-trunk
moose@pc08$ cd v8-trunk
moose@pc08$ make dependencies
moose@pc08$ make ia32.release

export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.releaseमेरे .bashrc में जोड़ा गया

moose@pc08 ~ $ source ~/.bashrc
moose@pc08 ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in

( विज्ञापन कोड से जावास्क्रिप्ट के साथ और Google कोड जाम से A-small-ults.in)


2
प्रतिक्रियाओं से भरा एक पृष्ठ और आपका, कम से कम माना जाता है, अंतिम सलाह है जो मुझे चाहिए।
सेठ डिफर्ले

4

अपने सिस्टम के लिए बिल्ड निर्देशों ( Google के V8 बिल्ड डॉक्स ) का अनुसरण करने के बाद ;

[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)

मैंने शेल के आह्वान को सुविधाजनक बनाने के लिए अपने .bash_profile में एक उपनाम बनाया।

alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'

CLI पर v8 टाइप करना (एक नए टर्मिनल या शेल में - अपने बैश प्रोफाइल को फिर से लोड करने के लिए) v8 शेल की पैदावार करता है। कमांड प्रॉम्प्ट पर जावास्क्रिप्ट! :)


3

यदि आप ArchLinux का उपयोग करते हैं, तो आप pacman -S v8इसे स्थापित करने के लिए उपयोग कर सकते हैं । फिर d8इसे अपने खोल में शुरू करने के लिए उपयोग करें। का आनंद लें।


1
ऐसा प्रतीत होता है कि AUR पर है इसलिए pacman के साथ स्थापित नहीं किया जा सकता है।
कोलोट

3

यदि आप v8 इंजन या इसके किसी भी संस्करण का उपयोग करके अपने जावास्क्रिप्ट स्रोत कोड को चलाना चाहते हैं , तो आप jsvu कमांड-लाइन टूल का उपयोग कर सकते हैं । यह विकसित की है और गूगल इंजीनियरों द्वारा बनाए रखा और, इसके अलावा, यह अलग से अन्य जावास्क्रिप्ट इंजन स्थापित करने की सुविधा प्रदान करता है v8 जैसे, Spidermonkey , chakracore , javascriptcore , और XS


2

यदि आप V8 को एम्बेड करने की योजना बना रहे हैं, तो हर तरह से इसका निर्माण करें और "d8" के साथ खेलें।

यदि दूसरी ओर, आप V8 का विस्तार करने या इसे वैकल्पिक मानने की योजना नहीं बनाते हैं, तो बस Node.JS का उपयोग करें। शुद्ध V8 के साथ परेशान मत करो।

Node.js के पास वास्तव में समृद्ध I / O, एक्सटेंशन, लाइब्रेरीज़ (जैसे पर्ल सीपीएएन, पायथन एग्स, रूबी जेम्स) और समुदाय हैं।


आपको नोड.जेएस का उपयोग करने की आवश्यकता नहीं है, यह सिर्फ एक आवरण और अतिरिक्त निर्भरता है।
13:01
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.