我已经使用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
答案 0 :(得分:1)
我建议您删除.bundle
目录(考虑首先备份.bundle/config
内的任何内容)并再次运行bundle install命令。您可以cat .bundle/config
将其内容回显到终端(STDOUT)。
确保您通过rvm gemdir
和gem list
选择了正确的宝石集,以查看当前宝石集中的所有宝石。
使用rails s -e development
启动服务器(s是服务器的缩写)