Пути установки Ruby/gem разбросаны повсюду, причина?
Вы можете помочь мне понять структуру моей рубиновой папки? Я не понимаю, почему мои драгоценные камни разбросаны по всему и почему они не являются распознанными командами.
Сначала я объясню, как выглядит моя установка:
/ USR / бен / рубин
/usr/bin/ruby1.8
/usr/bin/ruby1.9.1
Первая - это мягкая ссылка на ruby1.9.1, потому что команда "ruby" не работала в терминале. Я сделал то же самое с "драгоценным камнем". Я установил rubygems, скачав, распаковав и запустив setup.rb здесь: (я создал папку "ruby")
/home/pc/ruby/rubygems-1.7.2/setup.rb
/ USR / бен / камень
/usr/bin/gem1.8
/usr/bin/gem1.9.1
Я установил несколько драгоценных камней с помощью "sudo gem install"
> gem list
*** LOCAL GEMS ***
compass (0.10.6)
haml (3.0.25)
mustache (0.99.3)
rake (0.8.7)
Все идет нормально? Ну, не совсем, как оказалось, команда "версия компаса", похоже, не существует. Моя путаница растет с каждой папкой, в которую я смотрю. Следующий путь не имеет никакого смысла для меня, например. Почему это будет скрыто? Почему усы - единственный драгоценный камень внутри этой папки?
/home/pc/.gem/ruby/1.9.1/cache/mustache-0.99.3.gem
Прежде всего, это "окружение гемов", которое имеет еще меньше смысла, потому что я определенно установил rubygems-1.7.2, как я говорил вам в первом абзаце, но здесь он показывает древнюю версию 1.3.7. Зачем? Я установил Ubuntu позавчера.
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.2 (2010-08-18 patchlevel 0) [x86_64-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
- RUBY EXECUTABLE: /usr/bin/ruby1.9.1
- EXECUTABLE DIRECTORY: /var/lib/gems/1.9.1/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /var/lib/gems/1.9.1
- /home/pc/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
ruby --version возвращает "ruby 1.8.7"............ Кроме того, как оказалось, все драгоценные камни установлены в эту папку (усы тоже!, даже если она уже находится в другой папке) так же, как утверждает "ruby environment":
/var/lib/gems/1.9.1/gems
Но ни один из этих драгоценных камней не работает. Я не могу назвать ни одного из них, кроме граблей. Так вот, где я, вероятно, допустил ошибку, я думаю, что использовал "apt-get install rake" в дополнение к "gem install rake", потому что команда "rake" не была распознана, и командная строка предложила это. Возможно, я сделал это и с rubygems... Я новичок в Linux, и я подумал, что командная строка знает, как правильно установить этот материал.
,
Не может быть нормальным, что мне приходится создавать системные ссылки, верно? В Windows я не столкнулся с этой проблемой.
2 ответа
Я установил rvm, я до сих пор не знаю, почему произошла такая неразбериха, но теперь я могу легко заставить определенную версию ruby, и я знаю, куда устанавливаются все гемы. (в каталог rvm) У меня работает.
Я думаю, ваша проблема заключается в установке RubyGems
вручную, а не с помощью apt-get. Вы возможно сделали то же самое с ruby
или вам не хватает метапакета, который содержит символическую ссылку, созданную вами вручную.
Это также та же самая причина, почему /var/lib/gems/1.9.1/bin
каталог, в котором находятся все двоичные файлы, отсутствует в вашем $PATH. Таким образом, вы не можете найти исполняемые файлы для этих драгоценных камней.
Когда вы обновляете Ruby 1.8 до Ruby 1.9.3, гемы, установленные с Ruby 1.8, все равно будут находиться в папке Ruby 1.8. Возможно, у вас установлен RubyGems с другой версией Ruby.
Следующий путь не имеет никакого смысла для меня, например. Почему это будет скрыто? Почему усы - единственный драгоценный камень внутри этой папки?
/home/pc/.gem/ruby/1.9.1/cache/mustache-0.99.3.gem
Вы, очевидно, установили усы (без sudo) с
gem install mustache
Это устанавливает его для пользователя, а каталог установки пользователя $HOME/.gem/
, Папка скрыта, поэтому вы не можете случайно удалить ее. Возможно, вам придется добавить это в ваш $PATH (или установить с --no-user-install
)
решение:
Не просто скачивайте и устанавливайте RubyGems (и ruby) вручную. Используйте свой менеджер пакетов (aptitude
)
После этого вы можете решить, хотите ли вы установить гем с aptitude
или же gem install
: /questions/861773/ustanovit-paketyi-cherez-apt-get-ili-gem.