如何将RVM与tcsh一起使用?
我想将RVM与tcsh一起使用; 我该怎么做呢?
据我所知,这方面没有“正式”指示。 我按照“ 使用带有tcsh的RVM ”的说明进行操作,但这对我不起作用; 特别是,我无法访问Ruby二进制文件ruby
, bundle
, irb
, rspec
等。
这在OS X Yosemite 10.10.2上对我来说效果很好,但由于RVM初始化,每次打开一个终端窗口会增加大约5秒的延迟。
创建此文件:
https://gist.github.com/chetstone/1361149
我把它放在〜/ .rvm / rvm.rb中
chmod + x rvm.rb
添加到.cshrc / .tcshrc:
别名rvm'eval`~ / .rvm / rvm.rb \!*`' rvm使用ruby --default
ruby -v
现在返回正确的版本。
我所做的是从env | grep -i rvm
获取bash中所有与rvm相关的环境变量 env | grep -i rvm
。
然后我将它们复制到我的~/.tcshrc
,并用$ruby_version
替换了ruby版本:
if ( ! $?ruby_version ) then set ruby_version = `grep RUBY_VERSION ~/.rvm/environments/default | cut -d= -f2 | tr -d \' | sed 's/^ruby-//'` end setenv rvm_bin_path $HOME/.rvm/bin setenv GEM_HOME $HOME/.rvm/gems/ruby-$ruby_version setenv IRBRC $HOME/.rvm/rubies/ruby-$ruby_version/.irbrc setenv MY_RUBY_HOME $HOME/.rvm/rubies/ruby-$ruby_version setenv rvm_path $HOME/.rvm setenv rvm_prefix $HOME setenv PATH $HOME/.rvm/gems/ruby-$ruby_version/bin:$HOME/.rvm/gems/ruby-$ruby_version@global/bin:$HOME/.rvm/rubies/ruby-$ruby_version/bin:${PATH}:$HOME/.rvm/bin setenv GEM_PATH $HOME/.rvm/gems/ruby-${ruby_version}:$HOME/.rvm/gems/ruby-${ruby_version}@global
$ruby_version
将设置为默认值; 如果它是空的; 要使用不同的ruby版本,我可以这样做:
% set ruby_version = 1.9.3-p547 % source ~/.tcshrc
使用(某些)rvm命令,例如rvm install
或rvm list
似乎也可以工作; 但rvm use
不(你需要使用$ruby-version
解决方法)。 但是,我没有检查所有其他命令。