jlong / serve

Serve is a small Rack-based web server and rapid prototyping framework for Web applications (specifically Rails apps). Serve is meant to be a lightweight version of the Views part of the Rails MVC. This makes Serve an ideal framework for prototyping Rails applications or creating simple websites. Serve has full support for Rails-style partials and layouts.
http://get-serve.com
Other
837 stars 90 forks source link

Fails using Ruby 2.1.2 #118

Open DanielKehoe opened 10 years ago

DanielKehoe commented 10 years ago

I successfully installed and ran serve under ruby 1.9.3p448.

Using Ruby 2.1.2, I get an an error:

$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
$ gem -v
2.2.2
$ serve
/Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- i18n/core_ext/string/interpolate (LoadError)
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/gems/activesupport-3.2.19/lib/active_support/core_ext/string/interpolation.rb:2:in `<top (required)>'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/gems/activesupport-3.2.19/lib/active_support/core_ext/string.rb:9:in `<top (required)>'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/gems/activesupport-3.2.19/lib/active_support/core_ext.rb:2:in `block in <top (required)>'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/gems/activesupport-3.2.19/lib/active_support/core_ext.rb:1:in `each'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/gems/activesupport-3.2.19/lib/active_support/core_ext.rb:1:in `<top (required)>'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/gems/activesupport-3.2.19/lib/active_support/all.rb:3:in `<top (required)>'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/gems/serve-1.5.2/lib/serve.rb:1:in `<top (required)>'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/gems/serve-1.5.2/bin/serve:13:in `<top (required)>'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/bin/serve:23:in `load'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/bin/serve:23:in `<main>'
    from /Users/danielkehoe/.rvm/gems/ruby-2.1.2@serve/bin/ruby_executable_hooks:15:in `eval'
    from /Users
maikelmclauflin commented 10 years ago

try bundling again? usually different ruby versions do not share gems.

jpfinlay commented 10 years ago

I get the same error :-(

@mmclau14 In my case this gem is not being used as part of a rails project, rather an ember one, so I'm not using bundler... I'm guessing something in Ruby 2.1.2p95 has broken serve?

@DanielKehoe As this is still open I take it you have not found a solution yet?

jpfinlay commented 9 years ago

Umm, it only just occured to me to check out serve's .ruby-version file.

Turns out Ruby 2.0.0p0 is the latest version of Ruby this gem is likely to support. I can confirm the following worked for me:

rbenv install 2.0.0p0 rbenv rehash rbenv local 2.0.0-p0 gem install serve source ~/.zshrc

Then type serve and you should be up and running!

Hope this helps.

TinajaLabs commented 9 years ago

Im running on Red Hat Enterprise Linux Server release 6.5 (Santiago)

How might I resolve this apparent broken dependency, i18n/core_ext/string/interpolate ?

# ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

# rvm use 2.1.0 --default

# ruby -v ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]

Got the same error with 2.1.2, 2.1.0 and 2.0.0.

rvm rubies

=* ruby-2.0.0-p481 [ x86_64 ]
   ruby-2.1.0 [ x86_64 ]
   ruby-2.1.2 [ x86_64 ]

Thanks, Chris.

# serve .
/usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:126:in require': cannot load such file -- i18n/core_ext/string/interpolate (LoadError)
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:126:in `require'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/activesupport-3.2.19/lib/active_support/core_ext/string/interpolation.rb:2:in `<top (required)>'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/activesupport-3.2.19/lib/active_support/core_ext/string.rb:9:in `<top (required)>'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/activesupport-3.2.19/lib/active_support/core_ext.rb:2:in `block in <top (required)>'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/activesupport-3.2.19/lib/active_support/core_ext.rb:1:in `each'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/activesupport-3.2.19/lib/active_support/core_ext.rb:1:in `<top (required)>'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/activesupport-3.2.19/lib/active_support/all.rb:3:in `<top (required)>'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/serve-1.5.2/lib/serve.rb:1:in `<top (required)>'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/serve-1.5.2/bin/serve:13:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/serve:23:in `load'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/serve:23:in `<main>'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>'
thany commented 9 years ago

Tried to install interpolate explicitly, but didn't help. Would have been too easy.

I'm trying on Windows 7, with Ruby 2.1.3-p242-x64 and gem version 2.4.2. Exactly the same error, but with windows paths.

jogaco commented 9 years ago

Not using serve at all, I was experiencing a similar problem and the culprit was this entry in my Gemfile.lock file:

i18n (0.7.0.beta1)

Changed it back to 0.6.11 and everything worked.

kirichkov commented 9 years ago

The easiest workaround is to use bundler with a Gemfile that fixes i18n to v. ~> 0.6

i.e. have the following in your Gemfile:

gem 'i18n', '~> 0.6'
gem 'serve'

then don't forget to start serve through bundler: bundle exec serve

I can confirm this works with ruby 2.1.4 and 2.1.5

wazery commented 9 years ago

I can reproduce this on my machine, I will try to figure out what is the problem.