【问题标题】:rails Could not find devise-1.4.6 in any of the sources (trying to run rspec tests)rails 无法在任何来源中找到 devise-1.4.6(尝试运行 rspec 测试)
【发布时间】:2026-02-20 18:25:01
【问题描述】:

我尝试运行规范测试,我得到了

bundle exec rake spec
Could not find selenium-webdriver-2.6.0 in any of the sources

所以我捆绑并得到:

捆绑 获取http://rubygems.org/ 的源索引 在任何来源中都找不到 devise-1.4.6

所以我尝试安装 devise 1.4.6 但我得到了

gem install devise -v1.4.6
ERROR:  Could not find a valid gem 'devise' (= 1.4.6) in any repository
ERROR:  Possible alternatives: devise

这真的很奇怪,因为我的 Gem 文件本身只有“设计”(no 版本号)。

我的 Gem 文件的其余部分如下。

我也做了 rake test:prepare 并且数据库和表存在于测试中。

cat Gemfile
source 'http://rubygems.org'

gem 'rake', '0.9.2'
gem 'rails', '3.1.0'
gem 'haml'
gem 'simple_form'
gem 'devise'
gem 'mysql2'
gem 'therubyracer'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end
gem 'jquery-rails'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
group :test, :development do
#  gem 'cucumber-rails', '0.5.0'
  gem 'capybara'#, '1.0.0.beta1'
  gem 'database_cleaner'#, '0.6.7'
  gem "rspec-rails", "~> 2.6"
#  gem 'forgery', '0.3.8'
  gem "forgery"
  gem 'factory_girl'#, '1.3.3'
  gem 'factory_girl_rails'#, '1.0.1'
  gem 'shoulda'#, '2.11.3'
  gem 'rcov'
  gem 'turn', :require => false  # Pretty printed test output
end

【问题讨论】:

    标签: ruby-on-rails rspec devise


    【解决方案1】:

    是的,已经被拉了,见here

    1.4.6 September 19, 2011 yanked
    

    【讨论】:

    • 谢谢!关于我可以采取的替代行动的任何建议:)
    • 我会说:gem install devise 会很好:)
    • 不幸的是,这正是问题所在。设计安装没问题(我得到了 1.4.8 版),但捆绑包仍然需要设计 1.4.6 并且 Gemfile 仍然只是说“设计”,而站点中的任何地方都没有“1.4.6”版本。很奇怪吧?我只能假设其他一些 gem 隐藏在某个地方的特定版本依赖项!
    • 天哪,是的。那个捆绑锁文件已经让我抓到了好几次了!谢谢伙计,我看过你的其他帖子,很高兴看到你发布这个答案,因为你很好。
    【解决方案2】:

    它正在读取您的 Gemfile.lock,因此您需要运行 bundle update

    【讨论】:

    • 谢谢瑞恩。这可能也可以,但我选择了呼吸暂停