V8 JavaScriptエンジンスタンドアロンの実行


127

V8上でJavascriptコンソールを実行したい。どうすればよいですか?

回答:


115

V8は簡単に構築でき、MozillaのスタンドアロンJavascriptインタープリターからのJava VMオーバーヘッドはありません。幸い、V8にはコンソールを構築するためのコードが付属しています。これを構築する方法は次のとおりです。

$> svn co http://v8.googlecode.com/svn/trunk v8-trunk
...
$> cd v8-trunk
$> scons
$> g ++ ./samples/shell.cc -o v8-shell -I libv8.aをインクルード 

これで、というスタンドアロンバイナリが作成されましたv8-shell

コンソールを実行する:

$> ./v8-shell 
V8バージョン2.0.2
> var x = 10;
> x
10
> function foo(x){return x * x; }
> foo
function foo(x){return x * x; }
> quit()

コマンドラインからJavaScriptを実行する:

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

さらに多くの機能がヘルプに記載されています。

$> ./v8-shell --help
使用法:
...

9
ヒントと明確な指示をありがとう。私はubuntu 10.04でコマンドにオプションを追加する必要がありまし-lpthreadg++
2010

1
Ubuntuではsconsが失敗しましたが、sudo apt-get install libc6-dev-i386を実行すると解決しました。
Thorsten Lorenz、

2
x86_64の場合:トランクで修正されるまで「scons arch = x64」を実行します。google.com
p / v8 /

4
このv8シェルはおもちゃの例を意図したものであることに注意してください。「実際の」v8シェルはと呼ばれd8ます。詳細については、私の回答を参照してください。
bukzor

2
ソースコードの取得方法が変更されたようです。こちらをご覧ください
Colliot 2017年

59

「シェル」おもちゃアプリケーションの例ではなく、開発者コンソールを構築するには、以下のコマンドを端末にコピーして貼り付けます。

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

これらの手順は、「汎用」カーネルを備えたUbuntu / Debianで機能します。他のディストリビューションの場合は、apt-getコマンドを使用可能なパッケージツールに置き換える必要があります。64ビットシステムでは、追加が必要になる場合がありますarch=x64。このconsole=readlineオプションは、readlineシステムを有効にし、標準シェルのように感じさせます。

ここでより完全なドキュメント:http : //code.google.com/apis/v8/build.html


注意:

ここに画像の説明を入力してください

参照:GYPを使用したv8のビルド


9
arch=x6464ビットUbuntuでビルドするために追加する必要がありました。
プロジェクトは、

@ヒュー:リードラインシステムを有効にします。これにより、上矢印を使用して前のコマンドを取得できます。
ブクソール

ビルドが完了したら、と入力してシェルを実行します./d8
Mathias Bynens、

ubunt 12.04:致命的なエラー:readline / readline.h:そのようなファイルやディレクトリはありません-何かアイデアはありますか?
pguardiario 2012

43

node.jsを使用してコマンドラインからV8 Javascriptを実行するのはどうですか?

node.jsはv8をエンジンとして使用し、その上に多くの機能を追加します。


たとえば、Mac OSXでHomebrewがインストールされている場合は、次のコマンドを発行します。

    $ brew install node
    $ node
    > 

1
IMHO node.jsは、JavaScriptコンソールに関しては、新しい事実上の標準です。これはv8を使用しており、おそらくこれに使用するのに最適なオプションです。
トラッカー1

23

Mac OS Xでは、必ずbrewインストールしてください。次に、コマンドを実行(sudo) brew install v8します。マシンによっては、時間がかかる場合があります。V8コンソールを起動するには、v8Voilà!を実行します。

ヒント:コンソールを終了するには、実行quit()して括弧を忘れないでください!


1
または単に押しCtrl-Dて終了します:)
Dogbert 2013年

またはそれCtrl-Cを殺す
ブレーデンベスト

v8はそれ自体でビルドでき、brewを使用するのは非常に面倒です。
b01 2014年

4
「brew install v8」はどのように扱いにくいのですか?
Devan Buggay 2015

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の javascript およびGoogle Code JamのA-small-practice.inを使用)


2
回答とあなたの意見でいっぱいのページには、私が必要とする最後のアドバイスが含まれています。
Seth Difley、2014

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で(新しいターミナルまたはシェルで-bashプロファイルをリロードするために)v8と入力すると、v8シェルが生成されます。コマンドプロンプトでJavaScript!:)


3

ArchLinuxを使用している場合は、を使用pacman -S v8してインストールできます。次に、を使用d8してシェルで起動します。楽しめ。


1
これはAURにあるようなので、pacmanでインストールすることはできません。
Colliot 2017年

3

v8エンジンまたはその任意のバージョンを使用してJavaScriptソースコードを実行する場合は、jsvuコマンドラインツールを使用できます。それはほかに、それは別に他のJavaScriptエンジンのインストールの機能を提供しています、開発し、Googleのエンジニアによって維持されているV8など、SpiderMonkeyのchakracoreJavaScriptCoreにおける、およびXSを


2

V8を組み込む予定の場合は、ぜひビルドして「d8」で遊んでください。

一方、V8を拡張したり、オプションとして扱う予定がない場合は、Node.JSを使用してください。純粋なV8を気にしないでください。

Node.jsには、本当に豊富なI / O、拡張機能、ライブラリ(Perl CPAN、Python Eggs、Ruby Gemsなど)、およびコミュニティがあります。


node.jsを使用する必要はありません。これは単なるラッパーであり、追加の依存関係です。
b01 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.