Среда выполнения гемов OS X - PullRequest
1 голос
/ 27 июня 2010

ПРИМЕЧАНИЕ: user377519 (ответ ниже) указал мне правильное направление. Я разместил исправление внизу вопросов, если вы нашли это и вам нужно больше, чем указатель

Я не могу понять, почему второй вызов "gem env" не имеет такой же среды, как и первый? Есть указатели? Это сводит меня с ума!!!!

$ который драгоценный камень

/usr/local/bin/gem

$ / usr / local / bin / gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.8 (2010-06-26 patchlevel 1) [i386-darwin9.8.0]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-9
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/1.8
     - /Users/pauliprice/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com", "http://gems.github.com"]
  - REMOTE SOURCES:
  - http://gems.rubyforge.org/
  - http://gems.github.com
  - http://gems.github.com

$ gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-9
  - GEM PATHS:
     - /Library/Ruby/Gems/1.8
     - /Users/pauliprice/.gem/ruby/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com", "http://gems.github.com"]
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/
     - http://gems.github.com
     - http://gems.github.com

РЕШЕНИЕ:

Учитывая то, что вы (как и я) не хотите переключаться между разными версиями, просто устанавливаете новую версию на вашем компьютере с OSX 10.5, вот как правильно установить RubyGems.

Предполагается, что вы создали и установили свой новый Ruby следующим образом:

./configure --prefix=/usr/local --enable-pthread
sudo make
sudo make install

отредактируйте ваш ~ / .bash_profile и добавьте эту строку

export PATH=/usr/local/bin:$PATH

Сохраните и обновите свой терминал. Затем вы должны установить RubyGems следующим образом:

Загрузка и настройка последних рубинов

wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
tar -xzv http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
cd rubygems-1.3.7
sudo su
# export PREFIX=/usr/local
# export GEM_HOME=$PREFIX/lib/ruby/gems/1.8
# export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.8
# ruby setup.rb all —prefix=$PREFIX
exit

отредактируйте ~ / .bash_profile и добавьте следующие строки

export PREFIX=/usr/local
export GEM_HOME=$PREFIX/lib/ruby/gems/1.8
export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.8

И у тебя все хорошо. Обновить терминал,

1 Ответ

0 голосов
/ 27 июня 2010

Ruby и его инструменты "умны". Они знают о контексте выполнения и будут искать конфигурации в зависимости от того, где они запущены. Первое выполнение находится вне системного каталога, а последнее - вне вашего домашнего каталога.

Учитывая, что у вас есть две разные версии и вы работаете на Mac, это означает, что вы должны были установить Ruby вручную или через RVM. Учитывая, что более новая версия находится вне системного каталога, я полагаю, что вы попытались установить более новую версию Ruby вручную, и теперь растерялись, почему она не работает для вас. Вы установили его в системное пространство, но не обновили конфигурацию Ruby в своем домашнем каталоге. К сожалению, у меня нет ответа, как вывести вас из этой позиции. Надеюсь, у вас есть кое-что, что позволит вам отменить установку.

Гораздо более безопасный способ установки различных копий Ruby - использовать Ruby Version Manager (RVM). Он делает всю магию, необходимую для установки нескольких копий Ruby без изменения системы. Из командной строки вы можете вызвать другой интерпретатор для этого сеанса. Таким образом, система остается без изменений, но вы можете запустить JRuby, v1.9.2 и т. Д.

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...