1

我正在尝试使用 Taglib 的 Ruby 包装器 gem 在练习程序中使用 ID3 标签。我收到有关 taglib ruby​​ gem 要求的加载错误。

我已经通过 RubyGems 将 gem 安装到我的项目中,并且我只需要一些帖子中所述的 gem:

require 'taglib'

这些是我正在使用的软件版本:

  • 红宝石 2.0.0p481
  • 标签库红宝石(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 还很陌生,所以还有什么我需要澄清的,请询问。任何帮助将不胜感激,非常感谢。

4

2 回答 2

1

当您需要一个文件时,该文件必须在您$LOAD_PATH的 Ruby 变量中,或者在 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
于 2016-01-27T21:02:02.937 回答
0

在您的 Mac 终端上尝试输入gem list. 这应该为您提供已安装 gem 的列表。如果 gem 未显示,请键入gem install "gem-name"以安装它。

于 2016-01-27T11:17:21.853 回答