Лучший способ получить spidermonkey js на Ubuntu?

Мне нужно установить JS-движок Spidermonkey на моем рабочем компьютере. Проект, над которым я работаю, имеет jslint script, который требует Spidermonkey или аналогичный js файл. Я пробовал скомпилировать Spidermonkey из источника и застрял в адском зависимости. Я попытался установить пакет носорогов из репозиториев ubuntu, и это оказалось медленным и сломанным. Сегодня утром я успешно скомпилировал движок Google V8 и построил v8jslint, следуя инструкциям здесь:

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

v8jslint работает, но будет забивать только один файл за раз. Например,

$ v8jslint foo/*.js

если у меня есть a.js, b.js и c.js под foo, v8jslint будет только lint a.js. Простое исправление: для этого я мог бы написать bash script. Большая проблема заключается в том, что v8jslint не совместим с jslint Spidermonkey на нашем сервере сборки. Кто-нибудь имел успех в создании Spidermonkey на недавней версии Ubuntu или знает хорошее обходное решение?

Ответ 1

Вы можете строить из исходного кода, но обезьяна-паук все еще доступна на ubuntu, она просто была переименована в "libmozjs" . Установите "libmozjs-24-bin", а затем либо обратитесь к нему как "js24", либо symlink/usr/bin/js24 в "js", например:

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

Ответ 2

Исправлено. Вам нужен пакет autoconf2.13. Установите его с помощью apt-get. Перейдите на страницу исходного кода SpiderMonkey в Mozilla. Найдите репозиторий 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, как я писал в коде.

Ответ 3

обновление:

похоже, что spidermonkey-bin больше не доступен через пусковую панель ppa

плюс репозиторий v8jslint был закрыт, когда я попытался клонировать его.

Ответ 4

Кроме того, (через # 2: spidermonkey-bin не используется в Ubuntu Lucid - Проблемы - hallettj/jslint.vim - GitHub), можно использовать PPA для Launchpad Engineering: команда "Canonical Launchpad Engineering" :

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

Установите пакет libmozjs-24-bin. Он содержит двоичную оболочку JavaScript spidermonkey jinary /usr/bin/js24, которую вы можете установить как альтернативу для команды js.

sudo apt-get install libmozjs-24-bin
sudo update-alternatives --install /usr/bin/js js /usr/bin/js24 10