Rails - JavaScript çalışma zamanı bulamadınız mı?


247

rails 3.1.0.rc4Yerel makinemde yeni bir Rails projesi oluşturdum, ancak sunucuyu başlatmaya çalıştığımda şunu alıyorum: Bir JavaScript çalışma zamanı bulunamadı. Mevcut çalışma zamanlarının bir listesi için buraya bakın . ( ExecJS::RuntimeUnavailable)

Not: Bu Heroku ile ilgili değil.


Yanıtlar:


475

Düğümler gibi bir javascript çalışma zamanı kitaplığı yüklemek bunu çözer

Ubuntu'ya nodejs kurmak için terminalde aşağıdaki komutu yazabilirsiniz:

sudo apt-get install nodejs

Yum kullanan sistemlere nodejs kurmak için terminalde aşağıdakileri yazın:

yum -y install nodejs

14
benim için de. sudo apt-get install nodejs.
Hertzel Guinness

1
Şimdi bunu rota olarak tavsiye ederim. Yukarıyı görmek.
Michael Durrant

1
orada olmadığı için Ubuntu yazılım merkezinden düğüm kurma hakkındaki cevabın kaldırılmasıyla ilgili not kaldırıldı (Ubuntu 12.04)
Michael Durrant

1
Ubuntu 64, therubyracer'ı kurmak için büyük bir sorun veriyor, son sürüm 0.11.1 bile bunu çözmedi. Bu cevap bana bu konuda yardımcı oldu.
Eduardo

@gwho Aşağıda Yang'ın bir cevabı var. Şuna bir bak.
theTuxRacer

44

Michael'dan Not 12/28/2011 - Therubyracer'ın kod boyutu sorunları olduğu için bu (rubytheracer) 'dan yukarıdaki (nodejs) kabulümü değiştirdim. Heroku şimdi kesinlikle cesaretini kırıyor . 'Çalışacak' ama boyut / performans sorunları olabilir.

Gemfile'nize therubyracer gibi bir çalışma zamanı eklerseniz ve paket çalıştırırsanız, çalışacak sunucuyu başlatmayı deneyin.

gem 'therubyracer'

Kahve derlemek ve aynı zamanda uglifier için bir javascript çalışma zamanı gereklidir.

Güncelleme, 12/12/2011: Bazı insanlar rubytheracer ile ilgili sorunlar buldu (çoğunlukla kod boyutu olduğunu düşünüyorum). Onlar execjs (veya nodejs) de (daha iyi değilse) iyi çalıştı ve çok daha küçük bulundu.

nb Coffeescript 3.1+ için standart oldu


3
Ayrıca UglifyJS ile JavaScript sıkıştırmak için kullanılır. Bu görevleri gerçekleştirmenin önerilen yolunun, bunları geliştirme aşamasında yapmak rake assets:precompileve daha sonra deponuza varlık eklemek olduğunu unutmayın; Rails 3.1 aslında yayınlandığı sırada üretimde bir JavaScript çalışma zamanı gerektirmez.
whitequark

1
Bunu cevap olarak işaretledim. Bu hemen düzeltmediği için biraz kıllıydı ve 3.0.9 ve 3.0.4 ile yeni uygulamalar deniyordum, ancak onlarla (farklı) hatalar aldım. Sonunda tekrar yeni bir uygulama yaptım - ve onunla raylar rc5 aldım ve rubytheracer ekledim ve bir bunlde güncellemesi yaptım ve sonunda sunucuyu çalıştırabilir ve çalıştırabilirim. Teşekkürler Gazier!
Michael Durrant

1
btw Oluşturulan standart raylar uygulaması da inanıyorum bunu gerektiren uglifier kullanır.
Michael Durrant

1
Bence iyi bir uygulama geliştirme grubunun altındaki gemfile, böyle bir şey koymak olabilir group :development do gem 'therubyracer' end
eveevans

@evevans çalışma zamanı hatası bulunamıyor. Varlık üretim ortamında derlenmektedir, bu nedenle termorasörün üretim env bloğu altında olması gerekir.
lulalala

27

Mücevher dosyanıza aşağıdaki taşları ekleyin

gem 'therubyracer'
gem 'execjs'

ve koş

bundle install

VEYA

Tüm projeler için kalıcı olarak düzeltmek için Node.js'yi yükleyin .


1
Bu benim için çalıştı (Linux Mint 16), rayların en son sürümünde bazı bağımlılıkları kaçırdığını düşünüyorum.
geminiCoder

15

sudo apt-get install nodejsbenim için çalışmıyor. Çalışması için aşağıdakileri yapmam gerekiyor:

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

Umarım bu benimle aynı sorunu olan birine yardımcı olacaktır.


benim için doenst iş add-apt-depo ppa: chris-lea / node.js
jpganz18

@ jpganz18 önce bunu deneyin: sudo apt-get install software-properties-common Bu sorunu çözmezse, elle yükleyebilirsiniz: blog.anantshri.info/howto-add-ppa-in-debian
Robin

6

Windows platformunda, ben de bu problemle tanıştım Benim için çözüm sadece eklemek

C:\Windows\System32

için PATH

ve bilgisayarı yeniden başlatın.


3

Bu sorunu bir Windows makinesinde yaşadım ve nod.js'yi yüklemek sonunda benim için çalışan bir çözümdü. Bu, 'therubyracer'ı çalıştırmaya çalışmak da dahil olmak üzere birçok başka yolu denedikten sonra geldi . Node.js için github, pencerelere kurulumun hala kararsız olduğunu düşünse de, http://nodejs.org/ adresindeki web sitesinin mükemmel çalışan bir Windows yükleyicisi vardı.



1

Eğer hepsi başarısız olursa deneyebilirsiniz

# aptitude install nodejs

kök olarak. Yüklemenizi aşağıdaki komutla test edebilirsiniz:

# düğüm -v

NPM'yi yüklemek istiyorsanız, lütfen aşağıdaki bağlantıya bakın . Umarım yardımcı olur.


0

CentOS 6.5'te aşağıdakiler benim için çalıştı:

sudo yum install -y nodejs

0

Javascript çalışma zamanı yükleme

Hata, yerel makinenizde bir Javascript çalışma zamanı bulunmamasından kaynaklanır. Bu sorunu çözmek için NodeJS'yi kurmanız gerekir.

NodeJS'yi Node Version Manager veya nvm üzerinden kurabilirsiniz :

İlk olarak, yükleyin nvm:

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

Düğümü şu yolla yükle nvm:

nvm install 5.9.1

Bu 5.9.1, Düğümün sürümünü yükleyecektir .


0

Redhat sunucusunda Phusion Passenger (nginx modülü olarak çalışıyor) kullanarak bu sorunla karşılaştım. Zaten bir Javascript çalışma zamanı yüklü. Aynı üst dizindeki diğer Rails uygulamaları iyi çalıştı.

Bir izin sorunumuz olduğu ortaya çıktı. "Ls -l" çalıştırın ve klasörün sistemdeki diğer çalışan uygulamalarla aynı sahip ve gruba sahip olup olmadığına bakın. Düzeltmek için (özyinelemeli anahtar ile) klasörde chown ve chgrp çalıştırmak zorunda kaldı.


0

Umarım önceden yüklenmiş düğümler || NMV.

Benim çözümüm ile mücevher kurulum veya yükleme 'düğümünü gerektirmez sudo apt" Zaten NVM varken.

Tek ihtiyacınız olan RubyMine DesctopEntry. bunun için şu küçük adımlara sahip olacağız:

  1. Adresine git usr/share/applications
  2. Herhangi bir düzenleyicide (vim kullanıyorum) Rubymine DesktopEntryvim RubyMine
  3. Düzenleme hattı 6 (Exec ile başlar). Başlangıca eklemek zorundasınız /bin/bash -i -c. Yani çizginiz böyle görünmeli Exec=/bin/bash -i -c "/home/USERNAME/rubymine/RubyMine-2019.1.2/bin/rubymine.sh" %f
  4. Bitti! Muhteşemsin!

Bir avantaj olarak, tüm ortam değişkenleriniz RubyMine için kullanılabilir durumdadır. Yani onları ekleyerek acı hissetmiyorsunuz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.