使用bundler将Rails应用程序返回到开发模式

时间:2011-09-13 17:37:02

标签: ruby-on-rails bundler

我已经使用Capistrano和Passenger将我的应用程序部署到远程计算机。该项目在GitHub上,我想在我的本地机器上修复一些错误。我已经同步了一切,并在我的本地机器上分支到一个新的'dev'分支。当我尝试在开发过程中使用的简单rails server命令时,我收到与我的Gemfile中捆绑的gems有关的错误,例如`require': no such file to load -- nokogiri/nokogiri (LoadError)。但是当我运行bundle show nokogiri时,它出现在/vendor/cache/ruby/1.9.1/gems/nokogiri-1.5.0

也许这只是完全错误的工作流程,但是如何在本地计算机上进入开发模式,以便在将更改推送到已部署的应用程序之前测试更改?

我的Gemfile:

source 'http://rubygems.org'

gem 'rails', '3.0.10'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'
# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
gem 'capistrano'

# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
# gem 'ruby-debug'
# gem 'ruby-debug19', :require => 'ruby-debug'

# Bundle the extra gems:

gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'nested_scaffold'
gem 'rest-client'
gem 'pony'
gem 'mail'
gem 'logger'
gem 'json'
gem 'gmail'


# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
# group :development, :test do
#   gem 'webrat'
# end

1 个答案:

答案 0 :(得分:1)

我建议您删除.bundle目录(考虑首先备份.bundle/config内的任何内容)并再次运行bundle install命令。您可以cat .bundle/config将其内容回显到终端(STDOUT)。

确保您通过rvm gemdirgem list选择了正确的宝石集,以查看当前宝石集中的所有宝石。

使用rails s -e development启动服务器(s是服务器的缩写)