javascript ubuntu spidermonkey

javascript - ¿La mejor manera de obtener spidermonkey js en Ubuntu?



(5)

Necesito instalar el motor JS de Spidermonkey en mi máquina de trabajo. El proyecto en el que estoy trabajando tiene un script jslint que requiere Spidermonkey o un binario js similar. He intentado compilar Spidermonkey desde la fuente y me he quedado atascado en el infierno de la dependencia. Intenté instalar el paquete de rhino desde los repositorios de ubuntu, y resultó ser lento y roto. Esta mañana, compilé exitosamente el motor V8 de Google y construí v8jslint siguiendo las instrucciones aquí:

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

v8jslint funciona, pero solo creará un archivo a la vez. Por ejemplo,

$ v8jslint foo/*.js

si tengo a.js, b.js y c.js debajo de foo, v8jslint solo borrará a.js. Solución fácil: podría escribir un script de bash para esto. Un problema mayor es que v8jslint no es compatible con Spidermonkey jslint en nuestro servidor de compilación. ¿Alguien ha tenido éxito construyendo Spidermonkey en una versión reciente de Ubuntu, o conoce una buena solución?


Además, (a través de # 2: spidermonkey-bin no disponible en Ubuntu Lucid - Problemas - hallettj / jslint.vim - GitHub ), puede usar PPA para Launchpad Engineering: Equipo de "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 $


Arreglado. Necesitas el paquete ''autoconf2.13''. Instálalo con apt-get. Vaya a la página de código fuente de SpiderMonkey en Mozilla. Encuentre el repositorio hg (enlazado a continuación) y descargue una instantánea del árbol de Mozilla. No lo clone, solo obtenga el archivo comprimido como .tar.gz o .tar.bz2 en la barra superior.

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

Descomprima el archivo y cd en el directorio raíz.

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

Esto debería hacer un binario llamado js. Por alguna razón, cuando ejecuté make install, no se copió js en / bin /. Simplemente vinculé / bin / js para señalar a ~ /.../ mozilla / js / src / js. Los scripts de pelusa funcionan ahora y ya no tengo que iniciar una compilación para corregir los errores de pelusa: P

Fuente:

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

Nota: el enlace anterior requiere el comando autoconf-2.13 . Creo que esto es un error tipográfico; quieres usar autoconf2.13 como escribí en el código.


Instala el paquete libmozjs-24-bin . Contiene el shell binario de JavaScript de Spidermonkey /usr/bin/js24 que puede instalarse como una alternativa para el comando js .

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


Puedes compilar desde la fuente, pero Spider Monkey todavía está disponible en Ubuntu, solo se le ha cambiado el nombre a "libmozjs" . Instale "libmozjs-24-bin" y luego refiérase a él como "js24" o symlink / usr / bin / js24 a "js", así:

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


actualizar:

parece que spidermonkey-bin ya no está disponible a través del launchpad ppa

más el repo v8jslint estaba abajo cuando intenté clonarlo.