web-dev-qa-db-ja.com

Ubuntuでspidermonkeyjsを入手する最良の方法は?

作業用マシンにSpidermonkeyJSエンジンをインストールする必要があります。私が取り組んでいるプロジェクトには、Spidermonkeyまたは同様のjsバイナリを必要とするjslintスクリプトがあります。私はソースからSpidermonkeyをコンパイルしようとしましたが、依存関係地獄で立ち往生しました。 ubuntuリポジトリからrhinoパッケージをインストールしようとしましたが、遅くて壊れていることがわかりました。今朝、私はGoogleのV8エンジンを正常にコンパイルし、次の手順に従ってv8jslintをビルドしました。

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

v8jslintは機能しますが、一度に1つのファイルしかリントしません。例えば、

$ v8jslint foo/*.js

fooの下にa.js、b.js、c.jsがある場合、v8jslintはa.jsのみをリントします。簡単な修正:このためのbashスクリプトを書くことができます。より大きな問題は、v8jslintがビルドサーバー上のSpidermonkeyjslintと互換性がないことです。誰かが最近のバージョンのUbuntuでSpidermonkeyを構築することに成功したか、または良い回避策を知っていますか?

16
ovrkenthousand

ソースからビルドすることもできますが、クモザルはubuntuで引き続き利用できます。これは、 「libmozjs」に名前が変更されました です。 「libmozjs-24-bin」をインストールしてから、「js24」と呼ぶか、/ usr/bin/js24を「js」にシンボリックリンクします。

Sudo apt-get install libmozjs-24-bin; Sudo ln -sf /usr/bin/js24 /usr/bin/js
20
easel

修正しました。 'autoconf2.13'パッケージが必要です。 apt-getでインストールしてください。 MozillaのSpiderMonkeyソースコードページに移動します。 hgリポジトリ(以下にリンク)を見つけて、Mozillaツリーのスナップショットをダウンロードします。クローンを作成せず、トップバーからアーカイブを.tar.gzまたは.tar.bz2として取得します。

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

アーカイブを解凍し、ルートディレクトリにcdします。

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

これにより、jsというバイナリが作成されます。何らかの理由で、make installを実行したときに、jsが/ bin /にコピーされませんでした。/bin/jsをシンボリックリンクして、〜/ .../Mozilla/js/src/jsをポイントします。 Lintスクリプトが機能するようになり、lintエラーを修正するためにビルドを開始する必要がなくなりました:P

ソース:

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

注:上記のリンクでは、コマンドautoconf-2.13が必要です。これはタイプミスだと思います。私がコードで書いたように、あなたはautoconf2.13を使いたいと思います。

16
ovrkenthousand

更新:

spidermonkey-binはlaunchpadppaから利用できなくなったようです

さらに、v8jslintリポジトリを複製しようとすると、ダウンしていました。

6
scytale

また、(via #2:spidermonkey-bin not available in Ubuntu Lucid --Issues --hallettj/jslint.vim --GitHub )、使用できます Launchpad EngineeringのPPA:「CanonicalLaunchpadEngineering」チーム

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
$
5
sdaau

パッケージをインストールしますlibmozjs-24-bin。 SpidermonkeyJavaScriptシェルバイナリが含まれています/usr/bin/js24コマンドjsの代わりにインストールできます。

Sudo apt-get install libmozjs-24-bin
Sudo update-alternatives --install /usr/bin/js js /usr/bin/js24 10
3
thrau