Лучший способ получить 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