установить gem для более старой ruby ​​1.8 на Mac OS X 10.9 Maverics

1361
simbo1905

Я установил osx-trash, используя ответ здесь, но получил ошибку:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- osx/cocoa (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' from /Library/Ruby/Gems/2.0.0/gems/osx-trash-1.0.0/bin/trash:35:in `<top (required)>' from /usr/bin/trash:23:in `load' from /usr/bin/trash:23:in `<main>' 

Похоже, что Ruby 2.0 на более новой Mac OS X больше не поддерживает модуль "osx / cocoa", и люди рекомендуют изменить скрипт для работы с Ruby 1.8, который у меня уже есть в моей системе. Я отредактировал / usr / bin / trash, чтобы изменить первую строку для запуска скрипта как 1.8:

simbo$ diff /usr/bin/trash /usr/bin/trash.bak  1c1 < #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby --- > #!/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby 

Но теперь я получаю ошибку:

/Library/Ruby/Site/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find osx-trash (>= 0) amongst [activesupport-3.2.13, .... uuidtools-2.1.2, vmc-0.3.18, vmc-0.3.14] (Gem::LoadError) from /Library/Ruby/Site/1.8/rubygems/dependency.rb:256:in `to_spec' from /Library/Ruby/Site/1.8/rubygems.rb:1203:in `gem' from /usr/bin/trash:22 

Я думаю, что это может означать, что оригинальная команда для установки гема, которую я запускал по ссылке выше, установила вещи для ruby ​​2.0, поэтому при запуске скрипта на ruby ​​1.8 отсутствуют зависимости.

Как исправить установленный скрипт osx-trash, чтобы он правильно работал?

2
См. Также: [не удается загрузить такой файл - ошибка OSX / Cocoa в 1.9.3] (http://stackoverflow.com/questions/13172407/cannot-load-such-file-osx-cocoa-error-on-1-9 -3) kenorb 10 лет назад 0

1 ответ на вопрос

1
janos

If you have ruby 1.8 in your system then you should also have gem 1.8, in which case I think this should work:

sudo ln -s /Library/Ruby/Gems/1.8/gems/rubygems-update-1.8.12/bin/gem /usr/bin/gem18 sudo gem18 install osx-trash 

now with the edit to the top of the trash script to use ruby 1.8 things will work.

Пришлось создать символическую ссылку на гемы, чтобы ваш ответ заработал. как только мое редактирование будет одобрено, я приму ответ. Благодарю. simbo1905 10 лет назад 0
Привет @ simbo1905, я одобрил твою правку, спасибо, и я рад, что она работает! janos 10 лет назад 0