Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 可以让Rails 4在Windows上运行吗?_Ruby On Rails_Ruby On Rails 4_Ruby 2.0 - Fatal编程技术网

Ruby on rails 可以让Rails 4在Windows上运行吗?

Ruby on rails 可以让Rails 4在Windows上运行吗?,ruby-on-rails,ruby-on-rails-4,ruby-2.0,Ruby On Rails,Ruby On Rails 4,Ruby 2.0,我正在从事Rails 4(使用候选版本)项目,现在需要与Windows计算机上的某个人协作。但是,我甚至无法创建一个基本的网页:(.即使使用Ruby 2.0安装sqlite3也很痛苦。现在,当我尝试创建一个网页时(我刚刚创建了一个虚拟/主/索引控制器和视图),我会遇到以下错误: Showing C:/Users/me/RubymineProjects/test_project/app/views/layouts/application.html.erb where line #6 raised:

我正在从事Rails 4(使用候选版本)项目,现在需要与Windows计算机上的某个人协作。但是,我甚至无法创建一个基本的网页:(.即使使用Ruby 2.0安装sqlite3也很痛苦。现在,当我尝试创建一个网页时(我刚刚创建了一个虚拟/主/索引控制器和视图),我会遇到以下错误:

Showing C:/Users/me/RubymineProjects/test_project/app/views/layouts/application.html.erb where line #6 raised:

  (in C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/turbolinks-1.1.1/lib/assets/javascripts/turbolinks.js.coffee)

Extracted source (around line #6):
3  <head>
4    <title>TestProject</title>
5    <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
6    <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
7    <%= csrf_meta_tags %>
8  </head>
9  <body>
显示C:/Users/me/RubymineProjects/test_project/app/views/layouts/application.html.erb,其中第6行出现:
(C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/turbolinks-1.1.1/lib/assets/javascripts/turbolinks.js.coffee)
提取的源(第6行附近):
3.
4测试项目
5对%>
6对%>
7.
8.
9
Rails 4还没有为Windows做好准备吗?使用Ruby 2.0.0p195

更新:根据@szines请求,以下是

http://localhost:3000/rails/info/properties:
Ruby version    2.0.0 (x64-mingw32)
RubyGems version    2.0.3
Rack version    1.5
Rails version   4.0.0.rc1
JavaScript Runtime  JScript
Active Record version   4.0.0.rc1
Action Pack version 4.0.0.rc1
Action Mailer version   4.0.0.rc1
Active Support version  4.0.0.rc1
Middleware  
ActionDispatch::Static
Rack::Lock
#<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x000000036b85c0>
Rack::Runtime
Rack::MethodOverride
ActionDispatch::RequestId
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::DebugExceptions
ActionDispatch::RemoteIp
ActionDispatch::Reloader
ActionDispatch::Callbacks
ActiveRecord::Migration::CheckPending
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
Rack::Head
Rack::ConditionalGet
Rack::ETag
Warden::Manager
Application root    C:/Users/me/RubymineProjects/test_project
Environment development
Database adapter    sqlite3
Database schema version 20130523073322
http://localhost:3000/rails/info/properties:
Ruby版本2.0.0(x64-mingw32)
RubyGems版本2.0.3
机架版本1.5
Rails版本4.0.0.rc1
JavaScript运行时JScript
活动记录版本4.0.0.rc1
操作包版本4.0.0.rc1
操作邮件程序版本4.0.0.rc1
主动支持版本4.0.0.rc1
中间件
ActionDispatch::静态
机架:锁
#
机架::运行时
Rack::MethodOverride
ActionDispatch::RequestId
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::调试异常
ActionDispatch::RemoteIp
ActionDispatch::重新加载程序
ActionDispatch::回调
ActiveRecord::迁移::CheckPending
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamSpaser
机头
机架::条件代数
机架::ETag
典狱长:经理
应用程序根目录C:/Users/me/RubymineProjects/test\u project
环境发展
数据库适配器sqlite3
数据库架构版本2013052307322
true%>

将此更改为:

true%>

它应该会起作用

如果有人能对此做出解释,那就太好了

更多信息:


只要安装node.js,问题就会解决。

说明: 如果要尝试预编译资产,将获得以下跟踪:

(in C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/turbolinks-1.3.0/lib/assets/javascripts/turbolinks.js.coffee)
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:142:in `exec_runtime'
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec'
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile'
...

如您所见,ExecJS存在一个问题。ExecJS允许您从Ruby运行JavaScript代码,并且需要在您的系统上安装一个JS解释器。以下是支持的解释器列表。通常,您可以使用RubyRacer,它只是V8,但在windows下编译V8时存在问题。因此,您可以选择其他选项n-在安装NodeJS并将其添加到路径时,NodeJS.ExecJS将自动使用它。

使TurboLink在Windows 8 x64上工作的实际解决方案发布在选项3。

更改以下行

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
true%>

true%>
工作


您可以安装

我已经面临这个问题有一段时间了,这是因为在windows上,jquery和coffee脚本在其最新更新中不起作用,最后我发现这个奇妙的方法非常有效,无需下载节点或转义//require tree。因此,您只需在runtimes.rb中配置设置它生活在execjs中,就像这样-你会发现这部分几乎没有什么不同,修复它们,你会很好地去做

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
您可以观看此视频以了解详细的解决方案。

是否可以在没有turbolinks的情况下运行此功能?您是否需要turbolinks gem?是的,很抱歉,我忘了提及!我确实需要turbolinks。它是否包含错误消息?@JessewLGamott-我在上面发布的内容不是错误消息吗?您是否询问是否有更具体的错误消息?不,这就是我所知道的。您的运行环境是什么?如果您在开发模式下调用此url,您可以得到它:您好,这对我不起作用,但是如果我将它下面的行中的“应用程序”更改为“默认值”,它随后也会起作用!我尝试了airpaulg的建议,它对我起作用。您需要同时更改这两个。install node.js--这是永久解决方案(请确保在windows环境中的路径下包含npm/bin)。使用“默认值”可以包含不存在的defaults.js。请检查网络下的浏览器控制台,但未找到404。我在windows上使用Railsinstaller(今天最新版本)运行Rails时遇到同样的问题。将“应用程序”替换为“默认值”成功。安装node.js未成功。请确保在路径中添加“npm/bin”(windows环境)
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