我决定在我的个人计算机上从rvm转移到rbenv。按照rvm删除说明,安装rbenv,一切看起来很好看。重新启动我的shell会话后:
$ rbenv global
1.9.3-p0
$ ls .rvm
ls: cannot access .rvm: No such file or directory
$ rbenv exec gem list
*** LOCAL GEMS ***
在全新的外壳中全新安装 - RVM早已不复存在。现在,当我安装bundler
时$ rbenv exec gem install bundler
Fetching: bundler-1.0.22.gem (100%)
Successfully installed bundler-1.0.22
1 gem installed
$ rbenv rehash
$ echo $?
0
$ rbenv which bundle
rbenv: bundle: command not found
什么?的确,看看这个废话:
$ ls .rvm/gems/ruby-1.9.3-p0/gems/bundler-1.0.22/
bin bundler.gemspec CHANGELOG.md ISSUES.md lib LICENSE man Rakefile README.md spec UPGRADING.md
不知何故,某种程度上,RVM仍然有它的钩子。我的~/.bash*
文件很干净,
$ cat ~/.gemrc
gem: --no-ri --no-rdoc
我没有系统ruby,没有全局安装的RVM(/etc/profile/
中没有任何内容,/etc/profile.d/rvm.sh
没有任何内容,/etc/bash.bashrc
内没有任何内容),而且我完全失去了。
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.11
- RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [i686-linux]
- INSTALLATION DIRECTORY: /home/blt/.rvm/gems/ruby-1.9.3-p0
- RUBY EXECUTABLE: /home/blt/.rbenv/versions/1.9.3-p0/bin/ruby
- EXECUTABLE DIRECTORY: /home/blt/.rvm/gems/ruby-1.9.3-p0/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/blt/.rvm/gems/ruby-1.9.3-p0
- /home/blt/.rvm/gems/ruby-1.9.3-p0@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-ri --no-rdoc"
- REMOTE SOURCES:
- http://rubygems.org/
我还能在哪里找出为什么将gem配置为安装到~/.rvm
?
答案 0 :(得分:3)
我的系统显然有些东西腐烂了;没有贪图已经打开了,但坚持
unset GEM_HOME
unset GEM_PATH
到我的~/.bashrc
结束时让事情变得清醒。然而,可怕的黑客。
答案 1 :(得分:1)
你有没有在系统位置安装rvm?也许那些env vars进入了系统范围的shell配置。
尝试跑步:
bash -l -x -c'echo'
这将打印bash调试输出,以便您可以查看正在加载的文件。它可能不会在源代码脚本中显示命令,具体取决于您的bash版本。
这可能不适用于你,但如果它存在,那么~/.gemrc
的内容是什么?