我是编码和stackoverflow.com的新手。我一直在关注ruby.railstutorial.org,当我在第3.5节(通过postgresql用pg gems替换sqlite3)中解决高级练习时感觉非常好。
我改变了我的Gemfile:
source 'https://rubygems.org'
ruby '1.9.3'
#ruby-gemset=railstutorial_rails_4_0
gem 'rails', '4.0.0'
group :development, :test do
gem 'sqlite3', '1.3.7'
gem 'rspec-rails', '2.13.1'
end
group :test do
gem 'selenium-webdriver', '2.0.0'
gem 'capybara', '2.1.0'
end
gem 'sass-rails', '4.0.0'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.0'
gem 'jquery-rails', '2.2.1'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
gem 'sdoc', '0.3.20', require: false
end
group :production do
gem 'pg', '0.15.1'
gem 'rails_12factor', '0.0.2'
end
到
source 'https://rubygems.org'
ruby '1.9.3'
#ruby-gemset=railstutorial_rails_4_0
gem 'rails', '4.0.0'
gem 'pg', '0.15.1'
group :development, :test do
gem 'rspec-rails', '2.13.1'
end
group :test do
gem 'selenium-webdriver', '2.0.0'
gem 'capybara', '2.1.0'
end
gem 'sass-rails', '4.0.0'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.0'
gem 'jquery-rails', '2.2.1'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
gem 'sdoc', '0.3.20', require: false
end
group :production do
gem 'rails_12factor', '0.0.2'
end
我还从:
更改了我的database.yml文件# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
包含密码/端口和pg postgresql而不是sqlite3。 我安装了pgadmin III和postgresql 9.2 我捆绑更新并安装了一些pg gem并运行了我的:
bundle exec rspec spec/requests/static_pages_spec.rb
即使它在所有这些更改之前正常工作,它也停止了工作。 这些是错误消息:
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common/zipper.rb:1:in'repust' :无法加载此类文件 - zip / zip(LoadError) 来自C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.0.0/lib/selenium/webdriver/common/zipper.rb:1:in''
与此类似的约30多个。我试着在这里搜索一些类似的问题而且找不到任何东西,意识到我在“高级”的过程中试图恢复我的所有变化。
我将我的gemfile更改回原始文件并将我的database.yml文件更改回来并尝试再次运行,但我仍然收到完全相同的消息。
任何建议都会非常有帮助。我对此很陌生。
答案 0 :(得分:2)
运行捆绑更新是不安全的,因为此命令更新全部您的宝石,新版本的宝石可能会破坏您的应用程序,这就是您执行bundle update
时发生的情况,我建议你this article更多地了解bundle update命令。
我觉得你用Git?如果是,那么回到之前的提交你已经在做什么了?
git reset --hard commit_name
所以这样做的一个例子是:
git reset --hard f460cb......
可以使用命令找到提交名称:
git log
我认为更方便的另一个解决方案是恢复旧的Gemfile.lock(Gemfile.lock是包含旧gem版本和每个gem的依赖项的文件)。你可以在How do you rollback to a previous Gemfile.Lock
找到如何做到这一点