V8 Javascript Engine 독립형 실행


127

V8 위에서 Javascript 콘솔을 실행하고 싶습니다. 어떻게해야합니까?

답변:


115

V8은 빌드하기 쉽고 Mozilla 독립형 Javascript 인터프리터의 Java VM 오버 헤드와 함께 제공되지 않습니다. 다행히 V8에는 콘솔을 빌드하기위한 코드가 제공됩니다. 이를 구축하는 방법은 다음과 같습니다.

$> svn co http://v8.googlecode.com/svn/trunk v8-trunk
...
$> cd v8- 트렁크
$> 스콘
$> g ++ ./samples/shell.cc -o v8-shell -libv8.a를 포함합니다 

이제라는 독립형 바이너리가 v8-shell있습니다.

콘솔 실행

$> ./v8- 쉘 
V8 버전 2.0.2
> var x = 10;
> x
10
> 함수 foo (x) {return x * x; }
> foo
함수 foo (x) {return x * x; }
> 종료 ()

명령 행에서 자바 스크립트 실행 :

$> ./v8-shell -e 'print ( "10 * 10 ="+ 10 * 10)'
10 * 10 = 100

더 많은 기능이 도움말에 설명되어 있습니다.

$> ./v8-shell --help
용법:
...

9
팁과 명확한 지침에 감사드립니다. 우분투 10.04 -lpthread에서 g++명령에 옵션을 추가해야했습니다 .
intuited

1
우분투에서 scons가 실패했지만 sudo apt-get install libc6-dev-i386을 실행하면 문제가 해결되었습니다.
Thorsten Lorenz

2
온 x86_64의 할 경우 A : 때까지 'SCons는이 = 64 아치'의 고정 트렁크 code.google.com/p/v8/issues/detail?id=429#c1
EDH

4
이 v8- 쉘은 장난감 예제를위한 것입니다. "실제"v8 쉘을라고 d8합니다. 자세한 내용은 내 답변을 참조하십시오.
bukzor

2
소스 코드를 가져 오는 방법이 변경된 것 같습니다. 여기를 참조 하십시오 .
Colliot

59

예제 'shell'toy 응용 프로그램이 아닌 개발자 콘솔을 빌드하려면 아래 명령을 터미널에 복사하여 붙여 넣습니다.

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=x64. 이 console=readline옵션을 사용하면 readline 시스템이 표준 쉘과 비슷한 느낌을 줄 수 있습니다.

더 자세한 문서는 여기 ( http://code.google.com/apis/v8/build.html)


노트 :

여기에 이미지 설명을 입력하십시오

참조 : 건물의 GYP와 V8


9
arch=x6464 비트 우분투를 빌드 하기 위해 추가 해야했습니다.
프로젝트는

@ 휴 : 그것은 readline 시스템을 가능하게합니다; 이것은 위의 화살표를 사용하여 다른 멋진 것들 중에서 이전 명령을 얻는 것을 허용합니다.
bukzor

빌드가 완료되면을 입력하여 쉘을 실행하십시오 ./d8.
Mathias Bynens

ubunt 12.04에 : 치명적 오류 : readline / readline.h : 그러한 파일이나 디렉토리가 없습니다-어떤 아이디어?
pguardiario

44

node.js를 사용하여 명령 줄을 통해 V8 Javascript를 실행하는 방법은 무엇입니까?

node.js는 v8을 엔진으로 사용하고 그 위에 많은 기능을 추가합니다.


예를 들어 Homebrew를 설치 한 경우 Mac OSX 에서 다음을 발행하면됩니다.

    $ brew install node
    $ node
    > 

1
IMHO node.js는 JavaScript 콘솔에서 새로운 사실상의 표준입니다. v8을 사용하며 아마도 이것을 사용하는 가장 좋은 옵션 일 것입니다.
Tracker1

23

Mac OS X에 brew설치되어 있어야합니다. 그런 다음 (sudo) brew install v8컴퓨터에 따라 명령을 실행하면 시간이 걸릴 수 있습니다. V8 콘솔을 시작하려면 v8-Voilà!

팁 : 콘솔을 종료하려면 quit()괄호를 잊지 말고 실행 하십시오!


1
아니면 그냥 눌러 Ctrl-D종료 :)
Dogbert

아니면 Ctrl-C그것을 죽일
브 래든 베스트 2

v8을 자체적으로 빌드 할 수 있으며 brew를 사용하는 것은 너무 번거 롭습니다.
b01

4
'brew install v8'은 어떻게 번거 롭습니까?
Devan Buggay

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

( aditsu의 자바 스크립트 및 Google Code Jam의 A-small-practice.in)


2
응답이 가장 적은 페이지와 귀하의 의견이 가장 적을 것입니다.
Seth Difley

4

시스템에 대한 빌드 지침 ( Google V8 Build Docs )을 따른 후;

[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을 입력하면 (새 터미널 또는 셸에서-bash 프로필을 다시로드) v8 셸이 생성됩니다. 명령 프롬프트에서 JavaScript! :)


3

ArchLinux를 사용하는 경우 pacman -S v8이를 사용 하여 설치할 수 있습니다. 그런 다음 d8셸에서 시작하십시오. 즐기세요.


1
이는 AUR에있는 것으로 보이므로 pacman과 함께 설치할 수 없습니다.
Colliot

3

v8 엔진 또는 그 버전을 사용하여 자바 스크립트 소스 코드를 실행하려는 경우 jsvu 명령 줄 도구를 사용할 수 있습니다 . Google 엔지니어가 개발하고 유지 관리하며, Spidermonkey , chakracore , javascriptcorexs 와 같은 v8 이외의 다른 자바 스크립트 엔진을 설치하는 기능도 제공합니다 .


2

V8을 임베드 할 계획이라면 반드시 빌드하고 "d8"로 플레이하십시오.

반면에 V8을 확장하거나 선택 사항으로 취급하지 않으려면 Node.JS를 사용하십시오. 순수한 V8을 신경 쓰지 마십시오.

Node.js에는 풍부한 I / O, 확장 기능, 라이브러리 (예 : Perl CPAN, Python Eggs, Ruby Gems) 및 커뮤니티가 있습니다.


node.js를 사용할 필요는 없으며 단지 래퍼이며 추가 종속성입니다.
b01
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.