背景
我正在维护Ruby On Rails网站的内容,但我真的没有使用Rails的经验。
尝试运行Rails服务器时:rails s
我明白了:
在任何来源
中找不到activesupport-3.2.0运行
bundle install
以安装缺少的宝石
我运行bundle install
Gem :: InstallError:factory_girl需要Ruby版本> = 1.9.2。一个 安装factory_girl(3.2.0)和Bundler时出错 不能继续。
确保
gem install factory_girl -v '3.2.0'
在捆绑之前成功。
好的,我按照说明安装了factory_girl:
成功安装factory_girl-3.2.0 已安装1个宝石
再次运行bundle install:
Gem :: InstallError:factory_girl 需要Ruby版本> = 1.9.2。安装时发生错误 factory_girl(3.2.0)和Bundler无法继续。在捆绑之前确保
gem install factory_girl -v '3.2.0'
成功。
你有什么想法吗?
信息
昨天我在尝试运行rails服务器时出现了交叉错误。所以根据this SO advice我建议我已经修改了RVM并安装了rbenv和bundler而不是RVM。
我尝试过Ruby 1.9.3-p125和1.9.3-rc1
gem list
的输出显示factory_girl已安装。
gem environment
的输出显示问题可能与安装了ruby 1.9.1有关吗?
RubyGems环境:
- RUBYGEMS版本:1.8.10
- RUBY VERSION:1.9.3(2011-09-23 patchlevel -1)[x86_64-darwin11.3.0]
- 安装目录:/Users/andreas/.rbenv/versions/1.9.3-rc1/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE:/Users/andreas/.rbenv/versions/1.9.3-rc1/bin/ruby
- 可执行目录:/Users/andreas/.rbenv/versions/1.9.3-rc1/bin
- RUBYGEMS PLATFORMS:
- 红宝石
- x86_64-darwin-11
- 创业板路径:
- /Users/andreas/.rbenv/versions/1.9.3-rc1/lib/ruby/gems/1.9.1
- /Users/andreas/.gem/ruby/1.9.1
- 创业板配置:
- :update_sources =>真正
- :verbose =>真正
- :benchmark =>假
- :backtrace =>假
- :bulk_threshold => 1000
- “gem”=> “--no-ri --no-rdoc”
- 远程来源:
- http://rubygems.org/
答案 0 :(得分:3)
@jdoe在评论中回答。它奏效了。显然我需要删除Gemfile.lock
。
我不知道为什么或怎么样。我只是在这里张贴这个,直到@jdoe出现并用真实答案收集他的分数。
答案 1 :(得分:2)
尝试使用以下命令重新安装所有gems
bundle install --force
答案 2 :(得分:0)
首先要做的事 - 我没有rbenv的经验。
RVM的一个好处是它有助于明确说明Ruby环境的移动部分是什么。
rvm list 会为您提供一份Rubies列表 rvm gemset list 会给你一个gemsets列表(如果使用bundler,这不应该是必需的)
现在,这里有一些棘手的事情:
此外,在其他任何事情之前,您应该运行捆绑检查以查看捆绑商对您的宝石的评价。
答案 3 :(得分:0)
你试过这个吗?
bundle exec rails s
答案 4 :(得分:0)
确保您安装的所有gem都在Gemfile中,因为如果gem没有添加到Gemfile中,即使您手动安装它,您的Rails应用程序也无法获取它。
示例Gemfile将是
gem 'rails', '3.0.0'
gem 'mysql2', '< 0.3'
gem 'rails3-jquery-autocomplete'
#authorization
gem 'authlogic'
gem 'hoptoad_notifier'
#reporting
gem 'lazy_high_charts'
group :test do
gem 'rspec', '2.0.0'
gem 'rspec-rails', '2.0 '
gem "test-unit"
end