我想在rails服务器上运行
Ruby,但某个gem不想安装.这个rails程序与ruby 2.0不兼容,所以我想使用我安装的ruby 1.9.3,但我不能再捆绑安装…
$bundle install # ... Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. $bundle exec rails s git://github.com/goodtouch/jbuilder.git (at master) is not yet checked out. Run `bundle install` first. $bundle show jbuilder /Users/julien/.bundler/ruby/2.0.0/jbuilder-7fb0eae924c7 $ruby --version ruby 1.9.3p545 (2014-02-24 revision 45159) [x86_64-darwin13.1.0]
在Gemfile中,我指定了ruby“1.9.3”,然后我再次运行bundle install并得到:
Your Ruby version is 2.0.0,but your Gemfile specified 1.9.3
此特定gem的Gemfile行:
gem 'jbuilder',git: "git://github.com/goodtouch/jbuilder.git"
我在Gemfile.lock中获得了什么:
GIT remote: git://github.com/goodtouch/jbuilder.git revision: 7fb0eae924c77318ede344f32a5c208b91cdbaac specs: jbuilder (0.4.1) activesupport (>= 3.0.0) blankslate (>= 2.1.2.4)
我真的不明白发生了什么.我在Mac OS X下.
谢谢.
解决方法
编辑:您必须使用
rvm或
rbenv来设置ruby版本.这不是在gem文件中设置的. Ruby不是宝石.
此错误可能有多种原因之一.
# remove user-specific gems and git repos rm -rf ~/.bundle/ ~/.gem/bundler/ ~/.gems/cache/bundler/ # remove system-wide git repos and git checkouts rm -rf $GEM_HOME/bundler/ $GEM_HOME/cache/bundler/ # remove project-specific settings rm -rf .bundle/ # remove project-specific cached gems and repos rm -rf vendor/cache/ # remove the saved resolve of the Gemfile rm -rf Gemfile.lock # uninstall the rubygems-bundler and open_gem gems rvm gemset use global # if using rvm gem uninstall rubygems-bundler open_gem # try to install one more time bundle install