Rails:gem.config& rake gems:install - 没有要加载的文件

时间:2011-08-15 16:08:02

标签: ruby-on-rails ruby rubygems

我正在尝试使用config / environment.rb来安装ruby gem依赖项(因为我没有sudo访问我们的服务器; ergo,不能只调用gem install hpricot)。

我尝试过包含各种论点(:version:source:lib),但我仍然得到rake aborted! no such file to load -- hpricot

更新:事实证明,当我删除需要hpricot的插件时,我可以成功执行rake gems:install。但这不是很有帮助。这意味着,如果我移动我的应用程序,我遇到了无法获取其宝石的问题(因为我将重新安装该插件并添加依赖于它的功能)。

这应该如何运作?

Sys: WinXP,Ruby 1.8.7,Rails 2.3.5

2 个答案:

答案 0 :(得分:2)

Rails尝试在执行rake任务之前加载gem。这是rails 2.x的一个已知问题。我所知道的唯一解决方案是切换到使用bundler管理gem或手动管理。

Bundler可以与rails 2一起使用,但需要对应用程序和部署脚本进行一些修改。这是一个很好的起点:http://gembundler.com/rails23.html

答案 1 :(得分:1)

rake gems:install已被弃用,因为它从未真正起作用。你可以想象有一个宝石安装程序与它试图安装的宝石有依赖关系是一个坏主意。

如果这是一个选项,建议使用bundler

Bundler允许您将宝石安装到您想要的任何目的地,这些东西专门用于支持您描述的整个“需要sudo”问题。它通常很容易:

bundle install --path ~/my_gems/

你可以按照a few simple steps使你的Rails 2.3.x应用程序使用Bundler,从那里你的生活会更容易。