2016-03-29 15 views
0

Ich benutze Mac OS X und ich habe ein Profil und bash_profile. Hier ist der Inhalt meiner Datei:

cat ~/.profile 
PATH=/usr/local/git/bin:$PATH 
export PATH 

und

cat ~/.bash_profile 
export JAVA_HOME=$(/usr/libexec/java_home) 
export M2_HOME=/Users/myName/Tools/apache-maven-3.2.5 
export GIT_HOME=/usr/local/git 
export PATH=$PATH:$M2_HOME/bin:$GIT_HOME/bin 


### Added by the Heroku Toolbelt 
export PATH="/usr/local/heroku/bin:$PATH" 
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi 
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi 

MYSQL=/usr/local/mysql/bin 
export PATH=$PATH:$MYSQL 
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH 

### ADDED FOR SUBLIME SYMLINK 
export PATH=/usr/bin/local/bin:$PATH 

Hier ist der Inhalt von $ PATH:

echo $PATH 
/usr/bin/local/bin:/Users/myname/.rbenv/shims:/Users/myname/.rbenv/shims:/usr/local/heroku/bin:/usr/local/git/bin:/usr/local/git/bin:/usr/local/git/bin:/Users/myname/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-3.4.0/lib/rspec.rb:/usr/bin/local/bin:/Users/myname/.rbenv/shims:/Users/myname/.rbenv/shims:/usr/local/heroku/bin:/usr/local/git/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/ImageMagick/bin:/Users/myname/Tools/apache-maven-3.2.5/bin:/usr/local/git/bin:/usr/local/mysql/bin:/Users/myname/Tools/apache-maven-3.2.5/bin:/usr/local/git/bin:/usr/local/mysql/bin 

Ich verstehe nicht, warum ich diese/Users/myname/.rbenv/versionen/2.2.2/lib/ruby ​​/ gems/2.2.0/gems/rspec-3.4.0/lib/rspec.rb im pfad. Wie könnte ich es entfernen? Ich kann es weder in ~/.profile noch in ~/.bash_profile sehen.

Danke für Ihre Hilfe

+0

Fügt "rbenv init" dem Pfad hinzu? – hft

+0

bash ignoriert .profile, wenn .bash_profile existiert, daher ist .profile irrelevant. Aber die PATH-Hinzufügungen in .bash_profile scheinen zweimal durchgeführt worden zu sein, mit einigen anderen Zusätzen ("/usr/local/git/bin:/usr/local/git/bin:/Users/myname/.rbenv/versions/2.2. 2/lib/ruby ​​/ edelsteine ​​/ 2.2.0/gems/rspec-3.4.0/lib/rspec.rb ") dazwischen. Woher kommt das? Ich bin mir nicht sicher. Haben Sie eine .bashrc-Datei? –

Antwort

1

Das ist ein binstub für RSpec ist durch rbenv eingestellt wird.

  1. Verwendung rbenv rehash um sicherzustellen, dass Ihre .rbenv/versions/... Ordner
  2. Vergewissern Sie sich, mit Ruby 2.2.2 über rbenv durch Ausführen rbenv shell 2.2.2
  3. gem uninstall -a rspec
  4. rbenv rehash
  5. Reload Shell aktuell ist.

Sie nur eine dieser Linie haben sollte: if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

Sie haben auch eine Menge Doppelarbeit in Ihrem $ PATH bekam es wahrscheinlich Ihre bashrc Dateien mehrmals geladen werden, oder dass Sie einen weiteren RC-Skript ausgeführt sind Sie nicht bewusst:

/Users/myname/.rbenv/shims 
/Users/myname/.rbenv/shims 
/Users/myname/.rbenv/shims 
/Users/myname/.rbenv/shims 
/Users/myname/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-3.4.0/lib/rspec.rb 
/Users/myname/Tools/apache-maven-3.2.5/bin 
/Users/myname/Tools/apache-maven-3.2.5/bin 
/bin 
/opt/ImageMagick/bin 
/sbin 
/usr/bin 
/usr/bin/local/bin 
/usr/bin/local/bin 
/usr/local/bin 
/usr/local/git/bin 
/usr/local/git/bin 
/usr/local/git/bin 
/usr/local/git/bin 
/usr/local/git/bin 
/usr/local/git/bin 
/usr/local/heroku/bin 
/usr/local/heroku/bin 
/usr/local/mysql/bin 
/usr/local/mysql/bin 
/usr/sbin 

Siehe auch: https://github.com/rbenv/rbenv/wiki/Understanding-binstubs http://dan.carley.co/blog/2012/02/07/rbenv-and-bundler/

Verwandte Themen