我正在尝试使用 Taglib 的 Ruby 包装器 gem 在练习程序中使用 ID3 标签。我收到有关 taglib 红宝石要求的加载错误。
我已经通过 RubyGems 将 gem 安装到我的项目中,并且只需要一些帖子中所述的 gem:
require 'taglib'
这些是我正在使用的软件版本:
- 红宝石 2.0.0p481
- taglib-ruby (0.7.1)
- 标签库-1.9.1
我在装有Mavericks 10.9.5的Mac上,使用RubyMine作为我的IDE。我不确定我的安装是否正确适用于 taglib(原始包装器,而不是 Ruby 包装器)。我使用Homebrew下载了.tar.gz文件,然后解压缩了它。Taglib 1.10 文件夹位于我的本地下载文件夹中 - 应该将其放在其他地方吗?
如前所述,我需要在.rb文件的顶部使用"taglib"。尝试运行此文件时遇到的错误是:
'require': cannot load such file -- taglib (LoadError)
我对 Ruby 和 SO 很陌生,所以还有什么需要澄清的,请问。任何帮助将不胜感激,非常感谢。
当您需要文件时,该文件必须在 Ruby 的 $LOAD_PATH
变量中,或者在 require 字符串中显式指示。
您发布的错误特定于此。 require命令会省略扩展名,因为它将加载Ruby以外的其他类型的文件(如果它们可用)。 有关详细信息,请参阅有关 require
方法的文档。
如果您已在~/my_projects/music_analyzer/taglib_unzip_folder
中安装了库,则可以使用require '~/my_projects/music_analyzer/taglib_unsip_folder/taglib
,错误消息应该会更改。
如果已安装 gem 并且正在使用 rvm,则不应使用 sudo
,而应使用gem install taglib-ruby
在这种情况下,您无需指定文件夹名称,因为路径将包含在 Ruby 的加载路径中。
如果您使用的是 IDE,并且该 IDE 未使用相同的环境,那么您最终会遇到负载问题,因为您的安装和 IDE 的环境可能不相同。
您可以使用 irb 直接在终端上测试这些内容,而不是使用 IDE。
>> require 'taglib'
=> true
在 Mac 终端上尝试键入 gem list
。这应该会为您提供已安装的 gem 列表。如果 gem 未显示,请键入 gem install "gem-name"
进行安装。