我将其添加到Gemfile:
gem 'omniauth-facebook'
然后我跑bundle update
。到目前为止没问题。但是当我运行rails server
时,我收到了这个错误:
Could not find hashie-1.2.0 in any of the sources
Run `bundle install` to install missing gems.
我认为Bundler应该解决并满足所有依赖关系,但我还是尝试了这个:
gem install hashie-1.2.0
这给了这个:
ERROR: Could not find a valid gem 'hashie-1.2.0' (>= 0) in any repository
ERROR: Possible alternatives: hashie-model
我是Rails的新手,我觉得自己已经走到了尽头。建议?
更新:我也多次运行bundle install
(确切地说是bundle install --without production
)。在此之后运行rails server
时会出现同样的错误。
更新:我在omniauth-facebook之前尝试在Gemfile中添加gem 'hashee'
。没有运气。
答案 0 :(得分:0)
所以我认为你只是错误地使用了发夹。
bundle update
无法解析新的依赖关系,它只是查看存储在Gemfile.lock
中的gem清单,并通过放在它们上的约束将这些gem更新为最新的gem允许。 Gemfile
。
由于您正在尝试安装新的gem,所以您要运行的是bundle install
,它会对您的Gemfile
和Gemfile.lock
进行比较并安装任何不是宝石的宝石列在您的Gemfile.lock
。
我认为bundle install
应该为你做好准备。
作为旁注,bundler会尝试通过将bundle
别名化为bundle install
来让您尽可能轻松。因此,除非您明确要更新您的宝石,否则只需键入bundle
并获得您期望的行为。
答案 1 :(得分:0)
我得到了它的工作。我认为这是捆绑器的一些问题。我做了一些不同的事情,我不得不承认,我并不是100%肯定是什么修复它。我想是这样做的:
gem uninstall bundler
gem install bundler
bundle install mail
然而,直到我第二次重新安装它才行。在安装命令后,它安装了所有内容,而不仅仅是邮件及其依赖项。我做的唯一其他事情是在第一次重新安装后删除/usr/bin/bundler
。它没有再出现。