Лучший способ получить JS Spidermonkey на Ubuntu? - PullRequest
16 голосов
/ 12 июля 2011

Мне нужно установить движок Spidermonkey JS на мою рабочую машину. В проекте, над которым я работаю, есть сценарий jslint, для которого требуется Spidermonkey или аналогичный двоичный файл js. Я попытался скомпилировать Spidermonkey из исходного кода и застрял в аду зависимости. Я попытался установить пакет rhino из репозиториев 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 для этого. Еще большая проблема заключается в том, что v8jslint не совместим с jslint Spidermonkey на нашем сервере сборки. Кто-нибудь добился успеха в создании Spidermonkey на последней версии Ubuntu, или знаете хороший обходной путь?

Ответы [ 5 ]

18 голосов
/ 18 февраля 2015

Вы можете строить из исходного кода, но обезьяна-паук все еще доступна в 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
16 голосов
/ 12 июля 2011

Исправлено.Вам нужен пакет 'autoconf2.13'.Установите его с помощью apt-get.Перейдите на страницу исходного кода SpiderMonkey в Mozilla.Найдите репозиторий hg (ссылка ниже) и загрузите снимок дерева Mozilla.Не клонируйте его, просто получите архив в формате .tar.gz или .tar.bz2 из верхней панели.

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

Распакуйте архив и перейдите в корневой каталог.

$ 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, как я написал в коде.

6 голосов
/ 15 ноября 2011

Обновление:

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

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

5 голосов
/ 03 сентября 2011

Также ( через # 2: spidermonkey-bin недоступен в Ubuntu Lucid - Проблемы - hallettj / jslint.vim - GitHub ), может использовать PPA для панели запускаИнжиниринг: команда 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
$
3 голосов
/ 26 февраля 2016

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

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