Bundler和Rails看着不同的宝石?

时间:2011-09-01 12:51:19

标签: ruby-on-rails

这让我发疯了。我改变了笔记本电脑并尝试让我的Rails环境再次运行。 Mac OS X有自己的红宝石,但我使用brew并安装了新的。我安装了rails 3.0.5,运行:

bundle install

然后:

rails s

我收到了这个错误:

Could not find aws-s3-0.6.2 in any of the sources
Run `bundle install` to install missing gems.

将我的头撞在墙上几个小时之后,我尝试手动安装宝石并且工作正常!所以,显然,rails和bundler正在为我的宝石寻找不同的地方。两者都来自我的brew安装。

我如何弄清楚每个人在看什么,以便我可以再次使用“捆绑安装”?

3 个答案:

答案 0 :(得分:0)

Rails和Bundle正在查看它们在捆绑中的宝石。

使用

bundle show

命令查看gems Rails可以访问via bundler。

您还可以检查Gemfile.lock文件。

答案 1 :(得分:0)

gemfile主要来自rubygems.org,因为它应该是rubyforge(当我在谷歌搜索那个宝石时出现)。我认为gem命令会检查两者。您可以指定其他来源,如自述文件中所述:http://gembundler.com/man/gemfile.5.html

答案 2 :(得分:0)

你正在使用战俘吗?我一直有这个问题,Pow启动了一个版本的ruby,但不是我有RVM目前设置的版本。

我还没有尝试过,但是this issue on Github提到了这个问题,并引用了人们对战俘的问题here。我已粘贴以下内容:

RVM

正在使用不正确的ruby或gemset

在项目根目录下创建.rvmrc。请参阅rvmrc docs

系统范围的RVM安装

如果您安装了系统范围的RVM并且收到错误LoadError: no such file to load -- bundler/setup,请运行rvm info以找出计算机上安装rvm的位置,然后执行以下操作:

echo "export POW_RVM_PATH=/usr/local/rvm/scripts/rvm" >> ~/.powconfig

其中/usr/local/rvm/是您的rvm安装位置。

然后通过在活动监视器或终端中杀死它来重启POW。