Kilka dni temu po prostu przełączyłem się na lwa i zauważyłem, że po wyjściu z Terminalu w folderze, kiedy go otworzysz, powinien wrócić do tego folderu (razem z innymi kartami).
Jest to naprawdę dobra funkcja, ale problem polega na tym, że nie „odświeża” ona twoich ścieżek. Oznacza to, że nawet jeśli masz plik .rvmrc w folderze aplikacji, nie ustawi on ponownie ruby i gemsetu. będziesz musiał zrezygnować z CD i powrócić ponownie, co pokonuje cel posiadania rvmrc.
Czy to znany błąd i czy są już jakieś poprawki / poprawki?
EDYTOWAĆ Dodałem, zgodnie z radą Chrisa Page cd "$PWD"
w ostatnim wierszu mojego .bashrc (który jest ładowany przez mój plik .bash_profile)
To z kolei „ładuje” rvmrc zgodnie z oczekiwaniami:
Last login: Tue Aug 9 11:29:09 on ttys003
Using /Users/eumir/.rvm/gems/ruby-1.9.2-p180 with gemset mygemset
eumir$ gem list
/Users/eumir/.rvm/rubies/ruby-1.9.2-p180/bin/gem:12:in `require': no such file to load -- rubygems (LoadError)
from /Users/eumir/.rvm/rubies/ruby-1.9.2-p180/bin/gem:12
eumir$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.2.0]
Jak widać, załadował on gemset (wydrukowany przez „Using / Users ...”), ale próba zrobienia listy klejnotów i pokazania rubinowej wersji mówi, że nadal jej nie ładowała. (wersja ruby powinna być 1.9.2)
EDYCJA 2
Zaktualizowałem mój rvm i teraz żadna z poprawek nie działa!
Wypisuje, że używa gemsetu w moim rvm, ale kiedy robię gem env, otrzymuję to:
eumir$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.6
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
- INSTALLATION DIRECTORY: /Users/eumir/.rvm/gems/ruby-1.8.7-p174@awetest
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- EXECUTABLE DIRECTORY: /Users/eumir/.rvm/gems/ruby-1.8.7-p174@awetest/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-11
- GEM PATHS:
- /Users/eumir/.rvm/gems/ruby-1.8.7-p174@mygemset
- /Users/eumir/.rvm/gems/ruby-1.8.7-p174@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["http://rubygems.org/", "http://gemcutter.org"]
- "gem" => "--no-ri --no-rdoc"
- REMOTE SOURCES:
- http://rubygems.org/
- http://gemcutter.org
robić cd ../
i wtedy cd myfolder
a następnie wyniki gem env:
eumir$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.7.2
- RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.4.0]
- INSTALLATION DIRECTORY: /Users/eumir/.rvm/gems/ruby-1.8.7-p174@awetest
- RUBY EXECUTABLE: /Users/eumir/.rvm/rubies/ruby-1.8.7-p174/bin/ruby
- EXECUTABLE DIRECTORY: /Users/eumir/.rvm/gems/ruby-1.8.7-p174@awetest/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-10
- GEM PATHS:
- /Users/eumir/.rvm/gems/ruby-1.8.7-p174@mygemset
- /Users/eumir/.rvm/gems/ruby-1.8.7-p174@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["http://rubygems.org/", "http://gemcutter.org"]
- "gem" => "--no-ri --no-rdoc"
- REMOTE SOURCES:
- http://rubygems.org/
- http://gemcutter.org
co jest właściwym środowiskiem. Jak widać, gemset został załadowany poprawnie (razem z klejnotami), ale nadal używa ruby systemowego zamiast rubinu rvmrc.
cd ./
odświeży katalog i przeładuje rvmrc. Szukam rozwiązania, które nie będzie mnie potrzebowało do wpisania niczego innego
.rvmrc
pliki nawet dla początkowego, odziedziczonego bieżącego katalogu roboczego (tj. Terminal zrobił chdir (2) przed uruchomieniem powłoki zamiast mieć powłokę cd
sam (gdzie RVM mógł to zauważyć)).
source path/to/.rvmrc
...