Обновление до Ruby 1.9.2 на Leopard 10.5.8 с использованием RVM - PullRequest
1 голос
/ 25 апреля 2011

Кажется, что много документировано о переходе на 1.9.2 с помощью Snow Leopard, но не особенно на Leopard.

под управлением Mac OS X Leopard 10.5.8 rvm 1.6.3 xcode 3.1.4

Сначала мне было трудно установить rvm, но я использовал это fix и установил rvm.Я набираю:

$ rvmsudo rvm install ruby-1.9.2-head
Install of ruby-1.9.2-head - #complete

(я получаю ошибку, если я пытаюсь установить без команды sudo) Чтобы переключить версии по умолчанию:

$ rvmsudo rvm --default use ruby-1.9.2-head
Using /usr/local/rvm/gems/ruby-1.9.2-head

$ ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin9]

Когда я устанавливаю его по умолчанию без sudoкоманда.

rvm --default use ruby-1.9.2-head

Я получаю журнал ошибок, который заканчивается:

cp: /usr/local/rvm/bin/rdoc: Permission denied
cp: /usr/local/rvm/bin/ri: Permission denied
cp: /usr/local/rvm/bin/ruby: Permission denied
cp: /usr/local/rvm/bin/testrb: Permission denied

Затем я набираю

$ ruby -v
ruby 1.9.2p188 (2011-03-28 revision 31204) [i386-darwin9.8.0]

Но когда я закрываю терминал и снова открываю еговозвращается к 1.8.7

Есть какие-нибудь идеи о том, как установить эту рубиновую установку в качестве моей по умолчанию?

Вот мой профиль bash

PS1="\u$ "
alias ll="ls -lahG"

export PATH="/usr/local/rvm/rubies/ruby-1.9.2-head/bin:/usr/local/bin:/usr/loca$

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loa$

##
# Your previous /Users/mikalfm/.bash_profile file was backed up as /Users/mikal$
##

# MacPorts Installer addition on 2011-04-23_at_21:38:56: adding an appropriate $
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.


# MacPorts Installer addition on 2011-04-23_at_21:38:56: adding an appropriate $
export MANPATH=/opt/local/share/man:$MANPATH
# Finished adapting your MANPATH environment variable for use with MacPorts.

ОБНОВЛЕНИЕ

Решено. Я пошел в папку с файлом, из которого "ruby" (версия 1.8.7) сделал резервную копию файла и удалил его.Теперь ruby ​​-v возвращает ruby ​​1.9.2p188 (2011-03-28, редакция 31204) [i386-darwin9.8.0]

См. Комментарий ниже о том, почему это плохая идея.


Обновление 2

Решено, действительно Если, конечно, я не сделал что-то глупое.Итак, после следования инструкциям в ветке - я прояснил все проблемы с судо в исходном вопросе.Я сделал это, удалив RVM с помощью команды implode, удалив папку и переустановив без использования каких-либо команд sudo.

Следующая проблема заключалась в том, что я мог заставить rvm использовать 1.9.2 по умолчаниютолько для одного сеанса за один раз.Я просто исправил это, прочитав эту стек * нить , заставив рельсы использовать 1.9.2 , в которых кто-то предложил использовать команду $ echo $PATH.Я сделал это, и это выглядело принципиально иначе, чем я думал в моем профиле bash.

Это выглядело как /opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/Users/mikalfm/.rvm/gems/ruby-1.9.2-p180/bin:/Users/mikalfm/.rvm/gems/ruby-1.9.2-p180@global/bin:/Users/mikalfm/.rvm/rubies/ruby-1.9.2-p180/bin:/Users/mikalfm/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin

Оказывается, я думал, что несколько строк в моем .bash_profile были прокомментированына ## и не было.export PATH=/opt/local/bin:/opt/local/sbin:$PATH и export MANPATH=/opt/local/share/man:$MANPATH.Они прямо противоречат тому, что я считал моим $ PATH export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

Я удалил эти строки из своего профиля.Я полагаю, что могу добавить их обратно, если и когда есть зависимость, и мне нужно снова использовать порты Mac.Опять же, кто-то дал мне знать, если это неправильный подход, но теперь он работает для меня, даже когда я запускаю новый терминал.

Ответы [ 3 ]

2 голосов
/ 25 апреля 2011

решаемая. Я перешел к папке с файлом «which ruby» (версия 1.8.7), сделал резервную копию файла и удалил его. Теперь ruby ​​-v возвращает ruby ​​1.9.2p188 (2011-03-28, редакция 31204) [i386-darwin9.8.0]

НЕТ НЕТ НЕТ!

Версия Ruby, установленная Mac OS в /usr, принадлежит Apple и установлена ​​для их использования. Приложения, установленные Apple, используют его, и вы могли их сломать.

Если вы запустите find /usr -name '*.rb', вы найдете несколько файлов, используемых Apple, которые не являются частью обычной установки Ruby.

1 голос
/ 25 апреля 2011

Это не проблема 10,5, я тоже использую его на своем MB Pro.Вам нужно научиться прекращать использовать sudo, когда вы больше не используете «Микал».Я редко использую это больше.

Я не слишком знаком с rvmsudo.Что происходит, когда вы

rvm list    
rvmsudo rvm list

?

Мой совет: удалите rvm, установленный от имени пользователя root (с помощью sudo), повторите попытку и следуйте инструкциям на rvm.beginrescued.com, чтобы удалить PATH.ruby1.9.2 / bin из .bash_profile, чтобы избежать путаницы.Пусть rvm справится с этим, и держитесь подальше от sudo и rvmsudo (я никогда не использовал последнее).

rvm install 1.9.2
rvm use 1.9.2 --default
rvm list #see your rubies

должно быть достаточно.Надеюсь, это поможет.

0 голосов
/ 25 апреля 2011

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

rvm use 1.9.2

в ваш файл .bash_profile:)

...