1

Я пытаюсь установить SoundCloud2000 на мой MacBook под управлением Mac OS X 10.8.5.

У меня есть Ruby 2.2.0, mpg123 и portaudio . Установка SoundCloud 2000 в качестве GEM, кажется, работает нормально:

gem install soundcloud2000

Но затем, когда я пытаюсь использовать его из командной строки при запуске - $soundcloud2000 получаю следующую ошибку вместо клиента:

/Library/Ruby/Gems/1.8/gems/soundcloud2000-0.1.0/lib/soundcloud2000.rb:1: undefined method `require_relative' for main:Object (NoMethodError)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /Library/Ruby/Gems/1.8/gems/soundcloud2000-0.1.0/bin/soundcloud2000:3
    from /usr/bin/soundcloud2000:19:in `load'
    from /usr/bin/soundcloud2000:19

Я не знаю, что это значит. Кто-нибудь еще знает?

1 ответ1

0

Вы говорите, что у вас установлен Ruby 2.2.0, но, глядя на ошибку, все ссылки относятся к /Library/Ruby/Gems/1.8/gems/ что означает, что SoundCloud 2000 установлен как Ruby 1.8 GEM. Поэтому я предполагаю, что вы установили Ruby 2.2.0, который не является основным ruby вы запускаете из командной строки. Вы можете подтвердить версию Ruby, которую вы используете на своем Mac, выполнив следующую команду:

ruby -v

Вывод должен быть примерно таким; обратите внимание, что я использую Mac OS X 10.9.5, поэтому моя установленная версия Ruby будет выше, чем Mac OS X 10.8.5:

ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13]

Вы также можете увидеть , где ваша версия Ruby , загружается с помощью which , как это:

which ruby

Вывод должен быть примерно таким:

/usr/bin/ruby

Инструмент which точно сообщает, с какого пути загружается двоичный файл, который вы вызываете с помощью этой команды.

Поскольку кажется, что вы используете Homebrew для установки более новой версии Rub, вам также необходимо убедиться, что $PATH вашего пользователя настроен на проверку /usr/local/bin перед проверкой /usr/bin . Обычно это устанавливается в файле .bash_profile в вашем домашнем каталоге, который находится через ~/.bash_profile . Просто обратите внимание, что этот материал также может быть установлен в файле с именем .bashc , поэтому настройте примеры, чтобы использовать .bashc вместо .bash_profile если это так.

Например, если я запускаю следующую команду в моей настройке Mac OS X:

cat ~/.bash_profile

Я вижу это содержание:

export PATH="/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/opt/ImageMagick/bin"

Может показаться сложным, но это не так. Все, что делает эта команда, в основном устанавливает параметры $PATH для вашей оболочки. А элементы между кавычками - это просто пути к каталогам, разделенные символами : Следует отметить, что этот порядок /usr/bin против /usr/local/bin ; один идет перед другим. Это означает, что система проверит наличие ruby в /usr/bin и предпочтет использовать его до того, как он достигнет ruby установленного через /usr/local/bin . Поэтому быстрое решение для вас - взять /usr/local/bin и поместить его перед /usr/bin помощью текстового редактора, такого как nano . Затем сохраните его, выйдите из сеанса терминала и откройте новый.

Тем не менее, на вашем месте я бы рекомендовал избегать установки Ruby и Ruby GEM на системном уровне через Homebrew и вместо этого использовать RVM (Ruby Version Manager) . Ruby - и Ruby GEM - на самом деле может быть трудной задачей в хороший день; и даже хуже от головной боли на Mac. Таким образом, использование RVM вместо этого может позволить вам создавать изолированные установки Ruby и Ruby GEM, специфичные для вашего пользователя, которыми легче управлять.

Я занимаюсь системным администрированием Linux и, как правило, хочу обновить версию Ruby, установленную по умолчанию и используемую для этого через установщики исходного кода или пакетов. Но чем больше я работаю над настройками Ruby, тем больше я понимаю, что RVM действительно лучший способ установки, управления и работы с установками Ruby. Небольшая кривая обучения / понимания при первой настройке, но уже мимо того, что это облегчит вашу жизнь и управление системой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .