背景
我正在维护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 gem
再次运行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
shows的输出问题可能有一些东西与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 - EXECUTABLE目录:/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 => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - “gem”=>“ - no-ri --no-rdoc” - 远程来源: - http://rubygems.org/
@jdoe在评论中回答。它奏效了。显然我需要删除Gemfile.lock
。
我不知道为什么或怎么样。我只是在这里张贴这个,直到@jdoe出现并用真实答案收集他的分数。
尝试使用以下命令重新安装所有gem
bundle install --force
首先要做的事 - 我没有rbenv的经验。
RVM的一个好处是它有助于明确地说明Ruby环境的移动部分是什么。
rvm列表会给你一个Rubies列表rvm gemset list会给你一个gemsets列表(如果使用bundler这不应该是必需的)
现在,这里有一些棘手的事情:
此外,在其他任何事情之前,您应该运行捆绑检查以查看捆绑包有关您的宝石的说法。
你试过这个吗?
bundle exec rails s
确保你安装的所有宝石都在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