【发布时间】:2016-10-09 02:59:50
【问题描述】:
我实际上正在努力在不是最新的服务器(Ubuntu 10.04.2 LTS)上维护一个 Ruby 应用程序。 RVM 是全球安装的,我试图在我的主目录中本地获取最新的 ruby 版本,但没有任何成功。现在我正在尝试使用 rbenv。
我刚刚安装了带有 rbenv 和 ruby-build 的 Ruby 2.3.1(作为 rbenv 插件)。 安装工作完美,但没有使用。
安装(简单的部分):
$ 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
我已经像他们说的那样更新了 .bash_profile:
$ cat .bash_profile
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
但是当我想检查环境时,很多环境参数使用全局路径(如 GEM PATHS、EXECUTABLE DIRECTORY、INSTALLATION DIRECTORY、...):
$ 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/ruby-2.0.0-p247@global
- 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/ruby-2.0.0-p247@global/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
当我查看 env 时,有很多针对全局 ruby 安装的 env 变量。我不知道我们从哪里设置这些变量,但这不是我想要的值:
$ 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/ruby-2.0.0-p247@global/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/ruby-2.0.0-p247@global
RUBY_VERSION=ruby-2.0.0-p247
rbenv ruby 安装永远不会出现在这些变量上。 我是否有命令(如 rbenv init-env-variables)来启动正确配置我的 ruby 环境?
感谢您的支持, 大卫
【问题讨论】:
-
你记得
source ~/.bash_profile吗?还要检查您的 .bashrc 并查看 RVM 是否添加了任何内容。您的所有 gem 路径仍然指向 RVM 安装。 -
我发现 /etc/profile.d/rvm.sh 定义了所有这些变量。在执行 rbenv init 之前是否取消设置所有变量?有什么建议吗?