Ошибка загрузки, когда требуется taglib-ruby
Я пытаюсь использовать гем Ruby-обертки для Taglib, чтобы поиграть с тегами ID3 в тренировочной программе. Я получаю сообщения об ошибках загрузки, связанные с требованием гема taglib ruby.
Я установил драгоценный камень в свой проект через RubyGems и просто требую драгоценный камень, как указано в ряде постов:
require 'taglib'
Вот версии программного обеспечения, с которыми я работаю:
- ruby 2.0.0p481
- taglib-ruby (0.7.1)
- TagLib-1.9.1
Я на Mac с Mavericks 10.9.5, используя RubyMine в качестве моей IDE. Я не уверен, что моя установка верна для taglib (оригинал, а не оболочка Ruby). Я использовал Homebrew для загрузки файла.tar.gz, а затем распаковал его. Папка Taglib 1.10 находится в моей локальной папке загрузок - это нужно поместить где-то еще?
Как уже упоминалось, мне требуется "taglib" в верхней части моего.rb файла. Ошибка, которую я получаю при попытке запустить этот файл:
'require': cannot load such file -- taglib (LoadError)
Я довольно новичок в Ruby и ТАК, так что еще что-то мне нужно уточнить, пожалуйста, спросите. Любая помощь будет оценена, спасибо большое.
2 ответа
Когда вам требуется файл, файл должен быть либо в вашем $LOAD_PATH
переменная для Ruby, или явно указанная в строке require.
Выложенная вами ошибка относится именно к этому. Команда require исключает расширение, поскольку оно загружает другие типы файлов, кроме Ruby, если они доступны. Смотрите документацию на require
метод для получения дополнительной информации.
Если вы установили библиотеку в ~/my_projects/music_analyzer/taglib_unzip_folder
тогда вы можете использовать require '~/my_projects/music_analyzer/taglib_unsip_folder/taglib
и сообщения об ошибках должны измениться.
Если вы установили гем и используете rvm, вы не должны использовать sudo
, но следует использовать gem install taglib-ruby
И в этом случае вам не нужно указывать имя папки, так как путь будет включен в путь загрузки Ruby.
Если вы используете IDE, а эта IDE не использует ту же среду, то у вас возникнут проблемы с загрузкой, поскольку ваша установка и среда IDE могут не совпадать.
Вместо того, чтобы использовать IDE, вы можете проверить эти вещи прямо в терминале, используя irb.
>> require 'taglib'
=> true
На вашем терминале Mac попробуйте набрать gem list
, Это должно дать вам список установленных драгоценных камней. Если камень не появляется, введите gem install "gem-name"
установить его.