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
836 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 10 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 10 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 10 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.