2016-10-09 5 views
1

Ich arbeite tatsächlich, um eine Ruby-Anwendung auf einem Server zu verwalten, der nicht auf dem neuesten Stand ist (Ubuntu 10.04.2 LTS). RVM ist global installiert, ich habe versucht, eine aktuelle Ruby-Version lokal, in meinem Home-Verzeichnis, ohne Erfolg zu erhalten. Und jetzt versuche ich es mit rbenv.Wie konfigurieren Bash-Umgebung mit Rbenv?

Ich habe gerade Ruby 2.3.1 mit rbenv & ruby-build installiert (als rbenv plugins). Die Installation funktionierte perfekt, aber nicht die Verwendung.

Die Installation (der einfache Teil):

$ rbenv install 2.3.1 
Downloading ruby-2.3.1.tar.bz2... 
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2 
Installing ruby-2.3.1... 
Installed ruby-2.3.1 to /home/atlantic/.rbenv/versions/2.3.1 

ich die Bash_profile aktualisiert haben, wie sie sagte:

$ cat .bash_profile 
# include .bashrc if it exists 
if [ -f ~/.bashrc ]; then 
    . ~/.bashrc 
fi 

export PATH="$HOME/.rbenv/bin:$PATH" 
eval "$(rbenv init -)" 

Aber wenn ich will die environnement Menge environnement Parameter überprüfen verwenden globaler Pfad (wie GEM-Wege, ausführbares Verzeichnis, Installationsverzeichnis, ...):

$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 2.5.1 
    - RUBY VERSION: 2.3.1 (2016-04-26 patchlevel 112) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.0.0-p247 
    - USER INSTALLATION DIRECTORY: /home/atlantic/.gem/ruby/2.3.0 
    - RUBY EXECUTABLE: /home/atlantic/.rbenv/versions/2.3.1/bin/ruby 
    - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.0.0-p247/bin 
    - SPEC CACHE DIRECTORY: /home/atlantic/.gem/specs 
    - SYSTEM CONFIGURATION DIRECTORY: /home/atlantic/.rbenv/versions/2.3.1/etc 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /usr/local/rvm/gems/ruby-2.0.0-p247 
    - /usr/local/rvm/gems/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - /home/atlantic/.rbenv/versions/2.3.1/bin 
    - /home/atlantic/.rbenv/libexec 
    - /home/atlantic/.rbenv/plugins/ruby-build/bin 
    - /home/atlantic/.rbenv/shims 
    - /home/atlantic/.rbenv/bin 
    - /usr/local/rvm/gems/ruby-2.0.0-p247/bin 
    - /usr/local/rvm/gems/[email protected]/bin 
    - /usr/local/rvm/rubies/ruby-2.0.0-p247/bin 
    - /usr/local/rvm/bin 
    - /usr/local/sbin 
    - /usr/local/bin 
    - /usr/sbin 
    - /usr/bin 
    - /sbin 
    - /bin 
    - /usr/games 

Wenn ich das env sehe, gibt es viele env-Variablen, die auf die globale Ruby-Installation abzielen. Ich weiß nicht, von wo Thesen Variablen, die wir gesetzt sind, aber das ist nicht der Wert, den ich für sie will:

$ env |grep -i ruby 
GEM_HOME=/usr/local/rvm/gems/ruby-2.0.0-p247 
IRBRC=/usr/local/rvm/rubies/ruby-2.0.0-p247/.irbrc 
MY_RUBY_HOME=/usr/local/rvm/rubies/ruby-2.0.0-p247 
PATH=/home/atlantic/.rbenv/shims:/home/atlantic/.rbenv/bin:/usr/local/rvm/gems/ruby-2.0.0-p247/bin:/usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/ruby-2.0.0-p247/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 
GEM_PATH=/usr/local/rvm/gems/ruby-2.0.0-p247:/usr/local/rvm/gems/[email protected] 
RUBY_VERSION=ruby-2.0.0-p247 

Die rbenv Rubin Installation nie auf Thesen Variablen erscheinen. Habe ich einen Befehl (wie ein rbenv init-env-variables), um meinen ruby ​​env korrekt zu konfigurieren?

Vielen Dank für Ihre Unterstützung, David

+0

Erinnerst du dich an 'source ~/.bash_profile'? Überprüfen Sie auch Ihre .bashrc und sehen Sie, ob RVM etwas hinzugefügt hat. Alle deine Edelsteinpfade sind immer noch auf die RVM-Installation gerichtet. –

+0

Ich habe /etc/profile.d/rvm.sh gefunden, die alle diese Variablen definieren. Lösche ich alle Variablen vor der Ausführung von rbenv init? Irgendein Rat ? – David

Antwort

0

Ich habe die Datei manuell aktualisieren Bash_profile alle Variablen Environnements unscharf zu schalten, die im Gebrauch mit rvm und jetzt ist es perfekt funktioniert:

$ cat /home/atlantic/.bash_profile 
# include .bashrc if it exists 
if [ -f ~/.bashrc ]; then 
    . ~/.bashrc 
fi 

unset rvm_bin_path 
unset GEM_HOME 
unset IRBRC 
unset MY_RUBY_HOME 
unset rvm_path 
unset rvm_prefix 
unset rvm_version 
unset GEM_PATH 
unset RUBY_VERSION 


export PATH="$HOME/.rbenv/bin:$PATH" 
eval "$(rbenv init -)" 

Das Ergebnis:

$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 2.5.1 
    - RUBY VERSION: 2.3.1 (2016-04-26 patchlevel 112) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /home/atlantic/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0 
    - USER INSTALLATION DIRECTORY: /home/atlantic/.gem/ruby/2.3.0 
    - RUBY EXECUTABLE: /home/atlantic/.rbenv/versions/2.3.1/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/atlantic/.rbenv/versions/2.3.1/bin 
    - SPEC CACHE DIRECTORY: /home/atlantic/.gem/specs 
    - SYSTEM CONFIGURATION DIRECTORY: /home/atlantic/.rbenv/versions/2.3.1/etc 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /home/atlantic/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0 
    - /home/atlantic/.gem/ruby/2.3.0 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - /home/atlantic/.rbenv/versions/2.3.1/bin 
    - /home/atlantic/.rbenv/libexec 
    - /home/atlantic/.rbenv/plugins/ruby-build/bin 
    - /home/atlantic/.rbenv/shims 
    - /home/atlantic/.rbenv/bin 
    - /usr/local/rvm/gems/ruby-2.0.0-p247/bin 
    - /usr/local/rvm/gems/[email protected]/bin 
    - /usr/local/rvm/rubies/ruby-2.0.0-p247/bin 
    - /usr/local/rvm/bin 
    - /usr/local/sbin 
    - /usr/local/bin 
    - /usr/sbin 
    - /usr/bin 
    - /sbin 
    - /bin 
    - /usr/games 

Vielen Dank für Ihre Anregungen und deine Hilfe. David.

0

Run rvm implode --force

Dies wird die RVM/Verzeichnis und alle Rubine in ihm gebaut entfernen.

Run gem uninstall rvm

prüfen .bashrc, .profile und .bash_profile und alle Verweise auf RVM entfernen. so etwas wie dieses RVM

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Entfernen aus den folgenden Orten aussehen sollte

rm -rf /usr/local/rvm 
sudo rm /etc/profile.d/rvm.sh 
sudo rm /etc/rvmrc 

entfernen Sie diese Zeilen aus /etc/profile wenn sie vorhanden sind

source /etc/profile.d/sm.sh 
source /etc/profile.d/rvm.sh 

neu laden Terminal mit source und starten Sie den rbenv Installationsprozess.

+0

Ich stimme dir vollkommen zu, aber ich habe keinen root/sudo Zugang auf diesem Server. – David

Verwandte Themen