2012-03-09 11 views
10

मुझे अपनी मशीन पर रेल पर रूबी स्थापित करने में समस्या हो रही है। मैं "Agile Web Development with Rails" पुस्तक का पालन कर रहा हूं और अब तक सब कुछ ठीक हो रहा है।रेल जावास्क्रिप्ट रनटाइम पर्यावरण पर रूबी स्थापित करने में मदद की ज़रूरत है

/home/myname/.gem/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/runtimes.rb:50:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable) 
from /home/myname/.gem/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs.rb:5:in `<module:ExecJS>' 
from /home/myname/.gem/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs.rb:4:in `<top (required)>' 
from /usr/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require' 
from /usr/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>' 
from /usr/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require' 
from /usr/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `<top (required)>' 
from /usr/lib/ruby/gems/1.9.1/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `require' 
from /usr/lib/ruby/gems/1.9.1/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `<top (required)>' 
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:68:in `require' 
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:66:in `each' 
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:66:in `block in require' 
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:55:in `each' 
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:55:in `require' 
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler.rb:118:in `require' 
from /home/myname/Programming/Learning/Learning_Rails/demo/config/application.rb:7:in `<top (required)>' 
from /home/myname/.gem/ruby/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:53:in `require' 
from /home/myname/.gem/ruby/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:53:in `block in <top (required)>' 
from /home/myname/.gem/ruby/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:50:in `tap' 
from /home/myname/.gem/ruby/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:50:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 

यह कह रहा है कि यह एक जावास्क्रिप्ट क्रम पर्यावरण नहीं मिल सकता है:

समस्या मैं आ रही है कि जब मैं

rails server 

टाइप मैं निम्नलिखित त्रुटि मिलती है। मैं वेबसाइट पर गया कि त्रुटि संदेश की सिफारिश की गई और मैंने कुछ googling किया और मैंने पढ़ा कि execjs स्थापित करने के लिए एक अच्छा विकल्प होगा। मैं निम्न कमांड के साथ execjs स्थापित:

sudo gem install execjs 
sudo gem update 

जब मैं 'मणि सूची' मैं निम्नलिखित आउटपुट प्राप्त चलाएँ:

*** LOCAL GEMS *** 

actionmailer (3.2.2) 
actionpack (3.2.2) 
activemodel (3.2.2) 
activerecord (3.2.2) 
activeresource (3.2.2) 
activesupport (3.2.2) 
arel (3.0.2) 
bigdecimal (1.1.0) 
builder (3.0.0) 
bundler (1.1.0) 
coffee-rails (3.2.2) 
coffee-script (2.2.0) 
coffee-script-source (1.2.0) 
erubis (2.7.0) 
execjs (1.3.0 ruby) 
hike (1.2.1) 
i18n (0.6.0) 
io-console (0.3) 
journey (1.0.3) 
jquery-rails (2.0.1) 
json (1.6.5, 1.5.4) 
mail (2.4.3) 
mime-types (1.17.2) 
minitest (2.11.3, 2.5.1) 
multi_json (1.1.0) 
polyglot (0.3.3) 
rack (1.4.1) 
rack-cache (1.2) 
rack-ssl (1.3.2) 
rack-test (0.6.1) 
rails (3.2.2) 
railties (3.2.2) 
rake (0.9.2.2) 
rdoc (3.12, 3.9.4) 
sass (3.1.15) 
sass-rails (3.2.4) 
sprockets (2.3.1, 2.1.2) 
sqlite3 (1.3.5) 
thor (0.14.6) 
tilt (1.3.3) 
treetop (1.4.10) 
tzinfo (0.3.32) 
uglifier (1.2.3) 

उत्पादन से execjs स्थापित किया गया है की तरह ऊपर यह मेरे लिए लग रहा है। यहाँ क्या हो रहा है और मुझे यह त्रुटि क्यों मिल रही है?

यदि यह बिल्कुल उपयोगी है,

मेरे ओएस आर्क लिनक्स है।

माणिक -v: गहरे लाल रंग का 1.9.3p125 (2012-02-16 संशोधन 34,643) [x86_64-linux]

रेल -v: रेल 3.2.2

किसी भी मदद की सराहना की जाएगी।

उत्तर

11

आपका Gemfile निम्नलिखित लाइनों के दोनों शामिल करना चाहिए का प्रयास करें:

gem 'execjs' 
gem 'therubyracer' 

फिर bundle install चलाने के लिए और फिर कोशिश करें।

+0

धन्यवाद, यह समस्या थी। अब यह सब काम कर रहा है। – martega

1

मुझे लगता है कि आपको रूब्राइसर जैसे रनटाइम की आवश्यकता है।

sudo gem install therubyracer 
+0

मुझे लगता है कि कोशिश की और यह परिणाम था: '$ बंडल execjs " स्थापित करें "गलत तरीके से बुलाया गया था स्थापित करें। "बंडल इंस्टॉल" के रूप में कॉल करें। – martega

+0

जेएस रनटाइम निर्दिष्ट करने के लिए संपादित किया गया। – Sebi

+0

दुर्भाग्य से, मैंने पहले ही कोशिश की है। वही समस्या :( – martega

5

आप therubyracer मणि जोड़ना होगा, तो हो सकता है आपकी समस्या

कोड

gem 'therubyracer' 
gem 'execjs' 

हल किया जा woould तो बस करना एक bundle install

+0

मैंने दौड़ने की कोशिश की कमांड मणि 'थूब्यराइसर' लेकिन मुझे यह कहते हुए एक त्रुटि मिली कि थर्म्यूराइज़र एक अज्ञात कमांड है। वही बात होती है जब मैं मणि 'execjs' चलाता हूं। क्या मैंने आपको गलत समझा? – martega

+0

धन्यवाद! ऐसा लगता है कि यह अब काम कर रहा है। – martega

3

इस प्रयास करें:

$ sudo apt-get install nodejs 
1

हैं आप Pacman पैकेट प्रबंधक का उपयोग कर रहे हैं जिसका उपयोग करना चाहिए:

# pacman -S nodejs 

या

$ sudo pacman -S nodejs 
0

मैं रेल से पहले स्थापित था Node.js। अब यह स्वयं द्वारा जावास्क्रिप्ट रनटाइम के रूप में Node.js का उपयोग कर रहा है।

JavaScript Runtime Node.js (V8) 
संबंधित मुद्दे