2011-08-30 100 views
0

我:的Rails 3 - 要求 - 找不到路径

的Windows XP Professional SP3
的Ruby 1.8.7
的Rails 3.0.10
捆扎机1.0.15
ImageMagick的6.5.6 Q8
Rmagick 2.12.9

我的Gemfile:

gem 'rmagick-2.12.0-x86-mswin32', '2.12.0', :path => 'c:/sites/uplodify/vendor' 

我的控制器:

require 'RMagick' 

这里我已经安装了rmagick宝石:

c:/ruby/ruby187/lib/ruby/gems/1.8/gems/rmagick-2.12.0-x86-mswin32/ 

但是当我启动控制器,还有一个消息:

no such file to load -- RMagick 

然后,我改变require 'RMagick'require 'c:/ruby/ruby187/lib/ruby/gems/1.8/gems/rmagick-2.12.0-x86-mswin32/lib/RMagick.rb',和它的工作!

问:

为什么require 'RMagick'不工作,但require 'c:/ruby/ruby187/lib/ruby/gems/1.8/gems/rmagick-2.12.0-x86-mswin32/lib/RMagick.rb'正在????

非常感谢!

添加:嗨,人。我很高兴地说我是如何解决这个问题的。我的办法是在http://www.waydotnet.com/blog/2010/02/rmagick-on-ruby-1-9-1-i386-mingw32-work-d/....step一步以下recomendations ...

+0

您是如何安装RMagick的?它看起来像'c:/ ruby​​/ruby​​187/lib/ruby​​/gems/1.8/gems/rmagick-2.12.0-x86-mswin32/lib'不在你的Ruby路径中。 –

+0

这很奇怪,你有'c:/ sites/uplodify/vendor'和'c:/ruby/ruby187/lib/ruby/gems/1.8/gems/rmagick-2.12.0-x86-mswin32/lib/RMagick .rb“被定义为宝石的路径。 –

+0

我以这种方式安装了rmagick-2.12.0-x86-mswin32:gem install rmagick-2.12.0-x86-mswin32。看到在gem的仓库中有rmagick(c:/ruby/ruby187/lib/ruby/gems/1.8/gems/rmagick-2.12.0-x86-mswin32/)。当我从Ruby应用程序中使用require'RMagick'时 - 好的!但从铁轨控制器需要'RMagick' - 不工作! –

回答

0

在你Gemfile

gem 'rmagick', '2.12.0', :require => 'RMagick' 

,并在控制器中删除require

你不是真的应该require你的依赖在你的Rails应用程序中,捆绑器应该自动执行它。 :require选项告诉打包商它应该执行require 'RMagick',因此您不必手动执行此操作。

+0

感谢您的回答,Binoet。但它对我不起作用。当我将gem'rmagick-2.12.0-x86-mswin32','2.12.0',:require =>'RMagick'添加到我的gem文件中时,则会进行“捆绑安装”。在您的Gemfile中列出的任何gem源文件中都有错误“找不到gem'rmagick-2.12.0-x86-mswin32(= 2.12.0)”。 –

+0

编辑我的答案,今天我很累。这应该会更好。 –

+0

没问题,Benoit) 但是宝石'rmagick','2.12.0',:require =>'RMagick'也不适用于我。在安装bundle时出错:“使用本机扩展安装rmagick(2.12.0)C:/Ruby/Ruby187/lib/ruby/site _ruby/1.8/ruby​​gems/installer.rb:552:在'build_extensions'中:错误:未能构建gem本地扩展(Gem :: Installer :: ExtensionBuildError)“ 这是因为对于Windows操作系统,存在名为rmagick-2.12.0-x86-mswin32.gem的预编译gem。 –