2

Я установил 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, чтобы он правильно работал?

1 ответ1

1

Если у вас есть ruby 1.8 в вашей системе, то вы также должны иметь gem 1.8 , и в этом случае я думаю, что это должно работать:

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

теперь с правкой в верхнюю часть скрипта корзины для использования ruby 1.8 все будет работать.

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