【发布时间】:2010-03-05 13:55:21
【问题描述】:
在我的虚拟主机系统上,安装和使用 gems 似乎需要安装我自己的 ruby 副本。在他们在论坛上的帮助下,我已经完成了。我正在尝试在 Rails 应用程序中使用特定的 gem(称为 Image Science)。
此时,如果我打开irb 并输入以下内容,我会得到:
require 'rubygems' #true
require 'image_science' #LoadError: libfreeimage.so.3: cannot open shared
#object file: No such file or directory (etc)....
根据主持人的建议,我回到 bash 并输入以下内容:
export LD_LIBRARY_PATH=~/ruby1.8/lib
该命令允许 irb 要求 image_science - 它返回“真”。据我了解,它的意思是,“嘿,还要在这个目录中查找宝石。”
问题是这不会改变我的 Ruby 脚本可以访问的内容。 (它也只在会话中持续存在,但我想我可以将它添加到我的.bashrc。)在我的 Rails 应用程序中,如果我尝试要求该 gem,我仍然会收到错误。
所以我有两个问题:
- 如何使这个 gem 可用于我的 Ruby 脚本 - 特别是 Rails 模型文件?
- 我什至需要将“require”命令放入模型文件中,还是应该通过其他方式加载 gem?
【问题讨论】:
-
LD_LIBRARY_PATH 用于定位共享库 - 其中之一是图像科学 gem 的依赖项。还有其他用于指定实际 gem 位置的环境变量。
标签: ruby-on-rails ruby rubygems image-science