После установки RVM либо Rails Server, либо Git не работает - PullRequest
1 голос
/ 19 декабря 2011

Я снова сломал его, и, к сожалению, я не уверен, почему ...

Сначала проблема

Использование .bash_profile, созданного во время установки RVM, Git не можетбыть найденным.Добавление старого экспорта пути из портов Mac в .profile нарушает работу сервера rails, возвращая ruby ​​обратно к 1.8.7

Я думаю, что я определил

/opt/local/bin:
/opt/local/sbin:

как два каталогав .bash_profile, который заставит Git работать, но нарушит новую версию RVM ruby.

Решение

Итак, вот решение: я использую версию Mac Ports Git,Вот почему он не будет работать, если каталоги Mac Ports не являются частью пути.Когда каталоги портов Mac получены после RVM, версия Ruby для Mac Ports, кажется, имеет приоритет над версией RVM.

Это break :

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
export PATH=/opt/local/bin:/opt/local/sbin:$PATH

Это будет работа:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Спасибо @three за указание мне в правильном направлении:)

Как я сломал это

Жонглирование версиями Ruby и Rails для синхронизации с учебными пособиями, которые я делаю, чтобы изучить два, имя RVM продолжало появляться как инструмент для более удобного управления этими версиями.

Я установил его и получилэто работает

ruby -v
$ ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]

rails -v
$ Rails 3.1.3

В процессе мой .profile начал давать сбой, но я думаю, что это из-за приоритета .bash_profile, который был создан во время установки RVM.Я ожидал неприятностей, но пока все хорошо и все работает, включая сервер rails.

rails s
=> Booting WEBrick
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-12-19 10:16:15] INFO  WEBrick 1.3.1
[2011-12-19 10:16:15] INFO  ruby 1.9.2 (2011-07-09) [x86_64-darwin10.8.0]
[2011-12-19 10:16:15] INFO  WEBrick::HTTPServer#start: pid=53018 port=3000

Затем я захотел сделать коммит на Git, но внезапно он больше не работает

git
-bash: git: command not found

Итак, я сравнил .profile и .bash_profile и обнаружил, что порты Mac добавили строку кода к .profile при первоначальной установке ruby, rails и git (уверен, что я использовал MacPorts для всех трех 100%)

##
# Your previous /Users/username/.profile file was backed up as /Users/username/.profile.macports-saved_2011-10-19_at_08:48:41
##

# MacPorts Installer addition on 2011-10-19_at_08:48:41: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.

Если я запрашиваю версию ruby ​​с этим параметром, я получаю:

ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10]

Так что мое предположение новичка состоит в том, что я сломал переменную пути в процессе установки RVM.Если я добавлю строку в .bash_profile, git снова будет работать, а сервер rails - нет.Обратите внимание на несоответствие версии ruby.:

rails s
/Users/username/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.5/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10]

Abort trap

Содержимое моего $ PATH при использовании экспорта PATH для портов Mac:

echo $PATH
/opt/local/bin:
/opt/local/sbin:
/Users/username/.rvm/gems/ruby-1.9.2-p290/bin:
/Users/username/.rvm/gems/ruby-1.9.2-p290@global/bin:
/Users/username/.rvm/rubies/ruby-1.9.2-p290/bin:
/Users/username/.rvm/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/X11/bin:

С другой стороны, используя .bash_profile какэто содержимое $ PATH:

echo $PATH
/Users/username/.rvm/gems/ruby-1.9.2-p290/bin:
/Users/username/.rvm/gems/ruby-1.9.2-p290@global/bin:
/Users/username/.rvm/rubies/ruby-1.9.2-p290/bin:
/Users/username/.rvm/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/X11/bin:

Выглядит очень похоже, за исключением этих двух каталогов:

/opt/local/bin:
/opt/local/sbin:

Так что я думаю, вот где он ломается ... Но японятия не имею, что с этим делать.

Я все еще новичок во всех этих разработках, Apple Computers, Unix, Ruby, Rails Stuff: (

Любая помощь очень ценится.

Спасибо, TIM

Ответы [ 2 ]

2 голосов
/ 19 декабря 2011

поместите строку RVM после экспорта PATH для macports, чтобы бинарные файлы rvm для ruby ​​имели приоритет

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Также рассмотрите возможность использования homebrew вместо macports, что является гораздо более гладкой версией поддержки * nix tools.

0 голосов
/ 10 сентября 2013

вставить эту строку в .bash_profile:

source "$HOME/.profile"

до того, как RVM добавит содержимое.

...