2014-01-30 68 views
0

我的Rails 4應用程序有一個ExecJS :: RuntimeError。我在Windows 7 64位上。我已經檢查了這些兩個答案:ExecJS :: RuntimeError [Rails 4] Node.js已經安裝

ExecJS::RuntimeError in Rails 3

ExecJS::RuntimeError on Windows trying to follow rubytutorial

然後,我想:

安裝的node.js,restard我的電腦,但仍然無法正常工作!

OR

修改C:\ RailsInstaller \ Ruby2.0.0 \ lib中\紅寶石\寶石\ 2.0.0 \寶石\ execjs-2.0.2 \ lib中\ execjs \ runtimes.rb通過改變。

JScript = ExternalRuntime.new(
      :name  => "JScript", 
      :command  => "cscript //E:jscript //Nologo", 
      :runner_path => ExecJS.root + "/support/jscript_runner.js", 
      :encoding => 'UTF-8' # CScript with //U returns UTF-16LE 
     ) 

通過

JScript = ExternalRuntime.new(
     :name  => "JScript", 
     :command  => "cscript //E:jscript //Nologo", 
     :runner_path => ExecJS.root + "/support/jscript_runner.js", 
     :encoding => 'UTF-8' # CScript with //U returns UTF-16LE 
    ) 

但它不工作也不!

我知道,刪除行的application.js作品,但我不想要一個錯誤的修復。

我該怎麼辦?

我確切地說,我所有的js文件(application.js除外)都是空的。

我的Gemfile:

ruby '2.0.0' 
#ruby-gemset=railstutorial_rails_4_0 

gem 'rails', '4.0.2' 
gem 'bootstrap-sass', '~> 3.0.3.0' 
gem 'bcrypt-ruby', '3.1.2' 

group :development, :test do 
    gem 'sqlite3', '1.3.8' 
    gem 'rspec-rails', '2.13.1' 
    #advanced stuff 
    gem 'guard-rspec', '2.5.0' 
    gem 'spork-rails', '4.0.0' 
    gem 'guard-spork', '1.5.0' 
    gem 'childprocess', '0.4.0' 
end 

group :test do 
    gem 'selenium-webdriver', '2.35.1' 
    gem 'capybara', '2.1.0' 
    gem 'rb-notifu', '0.0.4' 
    gem 'factory_girl_rails', '4.2.1' 
end 

gem 'sass-rails', '4.0.1' 
gem 'uglifier', '2.1.1' 
gem 'coffee-rails', '4.0.1' 
gem 'jquery-rails', '3.0.4' 
gem 'turbolinks', '1.1.1' 
gem 'jbuilder', '1.0.2' 
gem 'execjs' 

group :doc do 
    gem 'sdoc', '0.3.20', require: false 
end 

group :production do 
    gem 'pg', '0.15.1' 
    gem 'rails_12factor', '0.0.2' 
end 

回答

-1

我「解決」了這個問題,我將我的筆記本電腦格式化了並安裝了Windows 7 Ultimate ...

1

基於此鏈接:https://stackoverflow.com/questions/12520456/execjsruntimeerror-on-windows-trying-to-follow-rubytutorial我想你應該嘗試,看看哪些.js文件生成錯誤。

該行正在編制中的應用程序/資產/ JavaScript的 成JavaScript每.js.coffee文件,然後將它添加到您的佈局(但只能在 發展模式;在生產模式下,編譯後的JS被添加到你的 application.js文件)。擁有require_tree。不應該導致 錯誤,所以不知怎麼,你有一個 被包括在的文件之一的問題。你可以在你的 app/assets/javascripts目錄中發佈所有文件的列表嗎?另外,您可以嘗試完全刪除sessions.js.coffee的內容並添加返回// = require_tree。並查看錯誤是否仍然存在。

+0

我從來沒有修改過我的js文件,它們都是空的。 – Pierre

0

嘗試了這一點: -

add gem therubyracer to your gemfile and then do bundle install 
+0

我已經安裝了這個gem,它不工作 – Pierre

+0

你能顯示你的gemfile嗎? –

+0

打開windows命令提示符'cmd'並鍵入'node',你能運行nodejs終端嗎? –

0

窗口已經安裝ExecRuntime引擎,它不需要任何東西來完成。它應該自動獲取最佳運行時間。你甚至不需要安裝nodejs。

0

我不會花費精力爲Windows打補丁。我建議安裝'therubyracer'gem [V8 embedded]或node.js.如果問題依然存在;請提供您的Gemfile.lock的副本,以便我們驗證您的軟件包安裝。

+0

我已經使用https://github.com/hiranpeiris/therubyracer_for_windows安裝了therubyracer gem – Pierre

+0

查看我的地球http://pastebin.com/h658P6vW – Pierre

0

更改ExecJS版本1.2.4到

  1. 轉到Gemfile中
  2. 類型的寶石 'execjs', '1.2.4'
  3. 轉到應用程序的命令行:安裝包
  4. 繁榮
相關問題