2013-05-17 28 views
1

我正在开发MRI 2.0.0上的轨道4.0.0.beta1应用程序和所有看起来工作。我想试着用Puma在JRuby上运行它。从MRI到JRuby移植一个rails4应用程序与美洲狮,没有运气

$ ruby -v 
jruby 1.7.3 (1.9.3p385) 2013-02-21 dac429b on Java HotSpot(TM) 64-Bit Server VM 1.6.0_45-b06-451-11M4406 [darwin-x86_64] 

我改变了我的Gemfile这样:

if defined?(JRUBY_VERSION) 
    gem 'activerecord-jdbc-adapter', :require => false 
    gem 'jdbc-mysql' 
    gem 'puma' 
else 
    gem 'mysql2' 
    gem 'thin', '1.5.1' 
end 

,我没有捆绑安装(一切OK)。

当我尝试用

$ bundle exec puma 

我得到这个错误运行彪马:

Puma 2.0.1 starting... 
* Min threads: 0, max threads: 16 
* Environment: development 
* Listening on tcp://0.0.0.0:9292 
NameError: uninitialized constant Foo::Application::Railties 

我tryed到谷歌,但我找不到任何有关错误信息,有人一个想法如何解决这个问题?

谢谢

+1

我猜你通过你的MRI环境安装捆绑器时,“捆绑”可执行文件的路径被放下。当你运行'jruby -S bundle exec puma'之类的东西时会发生什么? –

+0

@ChrisMowforth我试过了,我得到了同样的错误,你有什么其他的想法吗?感谢您的帮助 – SDp

回答

0

最后我发现(luckly),我认为这是一个轨对RC1的问题,解决它把这个在您的Gemfile

gem 'rails', github: 'rails/rails' 

然后你会得到另一个错误

NameError: uninitialized constant ActionDispatch::Session::EncryptedCookieStore 

你可以解决这个问题,将'initializers/session_store.rb'改为

Foo::Application.config.session_store :cookie_store, key: '_foo_session' 

(在你的应用程序的名称注意在正确的地方,不要使用“富”)

享受!

相关问题