我正在尝试使用Taglib的Ruby包装器gem在练习程序中使用ID3标签。关于taglib ruby gem的要求,我遇到了加载错误。
我已经通过RubyGems将gem安装到我的项目中,并且只需要在许多帖子中说明gem:
require 'taglib'
这些是我正在使用的软件版本:
我在Mac上使用Mavericks 10.9.5,使用RubyMine作为我的IDE。 我不确定我的安装是否适用于taglib(原始版本,而不是Ruby包装器)。我使用Homebrew下载.tar.gz文件,然后将其解压缩。 Taglib 1.10文件夹位于我的本地下载文件夹中 - 是否应放在其他位置?
如上所述,我在.rb文件的顶部需要'taglib'。我在尝试运行此文件时遇到的错误是:
'require': cannot load such file -- taglib (LoadError)
我对Ruby和SO都很陌生,所以我需要澄清一下,请问。感谢任何帮助,非常感谢。
答案 0 :(得分:1)
当您需要文件时,该文件必须位于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
答案 1 :(得分:0)
在Mac终端上尝试输入gem list
。这应该给你安装的gem列表。如果gem未显示,请键入gem install "gem-name"
进行安装。