Рэйкі сервер не запускаецца -> Не атрымалася знайсці час выканання JavaScript

Я стварыў новае прыкладанне рэек у «пытаннях» тэчкі і калі я хацеў «лал s» Я атрымаў паведамленне пра памылку. Любая дапамога будзе высока цэніцца

[[email protected] issues]$ rails s
/home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/execjs-1.4.0/lib/execjs.rb:5:in `'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/execjs-1.4.0/lib/execjs.rb:4:in `'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `require'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `'
    from /home/thiago/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
    from /home/thiago/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    from /home/thiago/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
    from /home/thiago/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
    from /home/thiago/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
    from /home/thiago/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
    from /home/thiago/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
    from /home/thiago/Documents/wdi/rails_practice/issues/config/application.rb:7:in `'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:53:in `require'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:53:in `block in '
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'
    from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:50:in `'
    from script/rails:6:in `require'
    from script/rails:6:in `
'

Я дадаў «therubyracer» каштоўны камень у маёй Gemfile, а затым «$ расслаеннем ўсталяваць» Works!

Gemfile
source 'https://rubygems.org'

gem 'rails', '3.2.8'
gem 'sqlite3'

group :assets do
gem 'sass-rails',   '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'
gem 'therubyracer' # added
15
Вы можаце размясціць змесціва вашага Gemfile?
дададзена аўтар Jesse Wolgamott, крыніца

11 адказы

У мяне была такая ж памылка, як для Windows, і Ubuntu, калі я пачаў працаваць над Rails ў студзені. Памылка даволі простая. Вам патрэны асяродак выканання JavaScript для сервера, каб пачаць.

Ёсць цэлы шэраг рашэнняў для гэтага. Адзін я выкарыстоўваю на Ubuntu, гэта ўсталяваць NodeJS.

У Ubuntu вы запусціць нешта накшталт наступнага ўстаноўкі NodeJS:

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

Тыя каманды, якія я выкарыстоўваю, каб зрабіць гэта, як ён будзе ўсталяваць апошнюю стабільную версію NodeJS, але вы можаце проста запусціць Sudo APT-атрымаць -y ўсталяваць nodejs і будзе добра.

У Windows, адказ я выкарыстаў, і там могуць быць іншыя, было рэдагаваць Gemfile ўсталяваць therubyracer. Я працую на Rails 4.0 RC1 прыкладання прама зараз, і ўсе яны маюць Gem «therubyracer», платформа :: лал ужо ў Gemfile проста закаментаваць.

Вы можаце проста пайсці дадаць Gem «therubyracer» у вашым Gemfile, калі вы працуеце на Windows, і што атрымаеце вы працуеце, я б паставіў. Затым запусціце расслаенне ўсталяваць .

19
дададзена
Выдатна. Атрымлівайце асалоду ад Рэйкі :).
дададзена аўтар Art, крыніца
ды, therubyracer працаваў.
дададзена аўтар jerseybyte, крыніца

У мяне была такая ж памылка, як для Windows, і Ubuntu, калі я пачаў працаваць над Rails ў студзені. Памылка даволі простая. Вам патрэны асяродак выканання JavaScript для сервера, каб пачаць.

Ёсць цэлы шэраг рашэнняў для гэтага. Адзін я выкарыстоўваю на Ubuntu, гэта ўсталяваць NodeJS.

У Ubuntu вы запусціць нешта накшталт наступнага ўстаноўкі NodeJS:

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

Тыя каманды, якія я выкарыстоўваю, каб зрабіць гэта, як ён будзе ўсталяваць апошнюю стабільную версію NodeJS, але вы можаце проста запусціць Sudo APT-атрымаць -y ўсталяваць nodejs і будзе добра.

У Windows, адказ я выкарыстаў, і там могуць быць іншыя, было рэдагаваць Gemfile ўсталяваць therubyracer. Я працую на Rails 4.0 RC1 прыкладання прама зараз, і ўсе яны маюць Gem «therubyracer», платформа :: лал ужо ў Gemfile проста закаментаваць.

Вы можаце проста пайсці дадаць Gem «therubyracer» у вашым Gemfile, калі вы працуеце на Windows, і што атрымаеце вы працуеце, я б паставіў. Затым запусціце расслаенне ўсталяваць .

19
дададзена
Выдатна. Атрымлівайце асалоду ад Рэйкі :).
дададзена аўтар Art, крыніца
ды, therubyracer працаваў.
дададзена аўтар jerseybyte, крыніца

Падчас выканання JavaScript не можа знайсці. Я б выказаць здагадку, што ў вас няма ў вашым Gemfile. Паспрабуйце змяніць ваш Gemfile і дадаць

gem 'therubyracer'

А затым запусціць

$ bundle install
8
дададзена

Падчас выканання JavaScript не можа знайсці. Я б выказаць здагадку, што ў вас няма ў вашым Gemfile. Паспрабуйце змяніць ваш Gemfile і дадаць

gem 'therubyracer'

А затым запусціць

$ bundle install
8
дададзена

Вы павінны ўсталяваць яваскрипт Перакладчык:

Дадайце гэта ў Gemfile:

gem "libv8", ">= 3.11.8"
gem "therubyracer", ">= 0.11.0", :group => :assets, :platform => :ruby, :require => "v8"

Таксама вы можаце праверыць іншыя варыянты, як Node.js для вытворчасці, але і для развіцця гэтага будзе дастаткова.

1
дададзена

Гэта не дазволіць запусціць сервер ўнутры любога каталога. Проста перайдзіце ў каранёвай каталог і тып

rails server   

або

rails s
0
дададзена

Гэта не дазволіць запусціць сервер ўнутры любога каталога. Проста перайдзіце ў каранёвай каталог і тып

rails server   

або

rails s
0
дададзена

Вы павінны адкрыць /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/execjs-1.4.0/lib/execjs/runtimes.rb і перайдзіце да радка 51 . Глядзіце, які рэсурс аўтавызначэнне шукае. Гэта, здаецца, адсутнічае.

Вы, верагодна, ёсць залежнасць, якая не адлюструецца. Лепшая стратэгія для стварэння свежага лал каштоўны камень асяроддзя з rbenv або РВМ , то расслаенне зноў. Калі гэта выправіць.

0
дададзена

Вы павінны адкрыць /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/execjs-1.4.0/lib/execjs/runtimes.rb і перайдзіце да радка 51 . Глядзіце, які рэсурс аўтавызначэнне шукае. Гэта, здаецца, адсутнічае.

Вы, верагодна, ёсць залежнасць, якая не адлюструецца. Лепшая стратэгія для стварэння свежага лал каштоўны камень асяроддзя з rbenv або РВМ , то расслаенне зноў. Калі гэта выправіць.

0
дададзена
  • Possible Problem: My Rails-server did not start on Windows 7, because ExecJS was unable to detect a Javascript Runtime, even though, I had NodeJS installed.
  • Reason on my machine: The NodeJS-directory was part of the environment, but surrounded by quotations (eg. [...];"C:\Program Files\nodejs\";[...]). This lead to where and ExecJS being unable to understand the path-entry and, eventually, not finding the node.js executable.
  • Solution: see below...

Для таго, каб атрымаць мой Rails-сервер для запуску на Windows (7 64-біт), я

  • installed NodeJS to a directory that does NOT include spaces (eg. in C:\development\nodejs\) ... because where (Windows version of which) was not able to find executables in the PATH if the respective entry was surrounded by quotation marks

  • made sure that where node returned the node-executable (eg. C:\development\nodejs\node.exe) I just installed (if where can't find NodeJS, execJS will probably not find it either) if where node returns an error, check your PATH-variable, you may want to move the entry for NodeJS to the front and NOT use quotation marks

  • excluded therubyracer from the Gemfile by changing the respective line to gem 'therubyracer', :platforms => :ruby (as said before) this will lead to therubyracer being installed in Linux/production environment, but not on local Windows environment

  • deleted the Gemfile.lock and called bundle install in order to have a clean installation of the gemfiles

  • started Rails with rails server

0
дададзена
  • Possible Problem: My Rails-server did not start on Windows 7, because ExecJS was unable to detect a Javascript Runtime, even though, I had NodeJS installed.
  • Reason on my machine: The NodeJS-directory was part of the environment, but surrounded by quotations (eg. [...];"C:\Program Files\nodejs\";[...]). This lead to where and ExecJS being unable to understand the path-entry and, eventually, not finding the node.js executable.
  • Solution: see below...

Для таго, каб атрымаць мой Rails-сервер для запуску на Windows (7 64-біт), я

  • installed NodeJS to a directory that does NOT include spaces (eg. in C:\development\nodejs\) ... because where (Windows version of which) was not able to find executables in the PATH if the respective entry was surrounded by quotation marks

  • made sure that where node returned the node-executable (eg. C:\development\nodejs\node.exe) I just installed (if where can't find NodeJS, execJS will probably not find it either) if where node returns an error, check your PATH-variable, you may want to move the entry for NodeJS to the front and NOT use quotation marks

  • excluded therubyracer from the Gemfile by changing the respective line to gem 'therubyracer', :platforms => :ruby (as said before) this will lead to therubyracer being installed in Linux/production environment, but not on local Windows environment

  • deleted the Gemfile.lock and called bundle install in order to have a clean installation of the gemfiles

  • started Rails with rails server

0
дададзена