Rails – Imansible trovare un runtime JavaScript?

Ho creato un nuovo progetto Rails usando i rails 3.1.0.rc4 sul mio computer locale, ma quando provo ad avviare il server ottengo: Imansible trovare un runtime JavaScript. Vedi qui per un elenco dei runtime disponibili. ( ExecJS::RuntimeUnavailable )

Nota: non si tratta di Heroku.

L’installazione di una libreria di runtime javascript come nodejs risolve questo problema

Per installare nodejs su ubuntu, puoi digitare il seguente comando nel terminale:

 sudo apt-get install nodejs 

Per installare nodejs su sistemi usando yum, digitare quanto segue nel terminale:

 yum -y install nodejs 

Nota di Michael 28/12/2011 – Ho cambiato la mia accettazione da questo (rubytheracer) a sopra (nodejs) poiché therubyracer ha problemi di dimensioni del codice. Heroku ora lo scoraggia fortemente. Funzionerà ma potrebbe avere problemi di dimensioni / prestazioni.

Se aggiungi un runtime, come ad esempio therubyracer al tuo Gemfile ed esegui il bundle, prova ad avviare il server e dovrebbe funzionare.

 gem 'therubyracer' 

È necessario un runtime javascript per compilare coffeescript e anche per uglifier.

Aggiornamento, 12/12/2011: alcune persone hanno riscontrato problemi con il rubytheracer (penso che fosse principalmente la dimensione del codice). Hanno trovato che execjs (o nodejs) funzionavano altrettanto bene (se non meglio) ed erano molto più piccoli.

nb Coffeescript divenne uno standard per 3.1+

Aggiungi le seguenti gemme nel tuo file gem

 gem 'therubyracer' gem 'execjs' 

e corri

 bundle install 

O

Installa Node.js per risolverlo in modo permanente per tutti i progetti.

sudo apt-get install nodejs non funziona per me. Per farlo funzionare, devo fare quanto segue:

 sudo apt-get install python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs 

Spero che questo aiuti qualcuno che ha lo stesso problema di me.

Sulla piattaforma Windows, ho incontrato anche questo problema. La soluzione per me è solo aggiungere

 C:\Windows\System32 

al PERCORSO

e riavviare il computer.

Ho avuto questo problema su una macchina Windows e l’installazione di node.js è stata la soluzione che ha finalmente funzionato per me. Ciò è avvenuto dopo aver provato diverse altre vie, incluso il tentativo di far funzionare “therubyracer”. Sebbene github per node.js suggerisca che l’installazione su Windows sia ancora instabile, il sito Web http://nodejs.org/ aveva un programma di installazione di Windows che funzionava perfettamente.

se si installa già nodejs dal sorgente, ad esempio, e execjs non lo riconosce, si potrebbe voler provare questo suggerimento: https://coderwall.com/p/hyjdlw

Se tutto fallisce, puoi provare

# aptitude install nodejs

come root. Puoi testare l’installazione con il seguente comando:

# node -v

Se si desidera installare NPM, fare riferimento al seguente link . Spero che sia d’aiuto.

Su CentOS 6.5, il seguente ha funzionato per me:

 sudo yum install -y nodejs 

Installa un runtime Javascript

L’errore è causato dall’assenza di un runtime Javascript sulla macchina locale. Per risolvere questo problema, dovrai installare NodeJS.

È ansible installare NodeJS tramite Node Version Manager o nvm :

Innanzitutto, installa nvm :

 $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash 

Installa il nodo tramite nvm :

 nvm install 5.9.1 

Questo installerà la versione 5.9.1 del nodo.

Mi sono imbattuto in questo problema utilizzando Phusion Passenger (eseguito come modulo nginx) su un server Redhat. Abbiamo già installato un runtime Javascript. Altre app di Rails nella stessa directory padre funzionavano bene.

Si è scoperto che avevamo un problema di autorizzazioni. Esegui “ls -l” e verifica se la cartella ha lo stesso proprietario e gruppo delle altre app di lavoro sul sistema. Ho dovuto eseguire chown e chgrp nella cartella (con l’interruttore ricorsivo) per risolverlo.