我感兴趣的是RVM和rbenv实际上是如何工作的。
显然,它们在不同版本的Ruby和gemsets之间进行交换,但这是如何实现的呢?我以为他们只是简单地更新符号链接,但深入研究了代码(我必须承认我对Bash的了解很肤浅),他们似乎做了更多的事情。
发布于 2012-02-22 22:24:00
rvm system
env > before
rvm jruby # or whatever
env > after
diff after before
为您提供以下大致信息:
< GEM_HOME=$HOME/.gem/ruby/1.9.1
---
> GEM_HOME=$HOME/.rvm/gems/jruby-1.6.6
< GEM_PATH=$HOME/.gem/ruby/1.9.1
---
> GEM_PATH=$HOME/.rvm/gems/jruby-1.6.6:$HOME/.rvm/gems/jruby-1.6.6@global
*bunch of rvm_*
> MY_RUBY_HOME=$HOME/.rvm/rubies/jruby-1.6.6
> RUBY_VERSION=jruby-1.6.6
> IRBRC=$HOME/.rvm/rubies/jruby-1.6.6/.irbrc
它的前缀是:
$HOME/.rvm/gems/jruby-1.6.6/bin:$HOME/.rvm/gems/jruby-1.6.6@global/bin
转到$PATH
https://stackoverflow.com/questions/9394338
复制相似问题