rvm 安装 Ruby 之后,Ruby 被安装到了.~/rvm 下对吧?然后在 Bashrc 上加上 RVM 的环境变量使 Ruby 的程序能被执行,像原来可以在脚本面前直接加上#!/usr/bin/env ruby 执行的功能如何实现?除了把 usr/bin/env 换成对应~/.rvm 的目录?(那个目录太长了……)
系统的 Ruby 还在的啊
可以用吧,你终端输入 env ruby -v 看看,指向的是你当前 rvm 的 ruby 版本
可以用。如果出现问题,可能是你执行脚本的用户环境没有载入 rvm 的环境变量。
#2 楼 @diudiutang 更直接的方法是看看$PATH 变量的值
$ echo $PATH /home/john/software/otp/bin:/home/john/.rvm/gems/ruby-1.9.3-p194/bin:/home/john/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/john/.rvm/rubies/ruby-1.9.3-p194/bin:/home/john/.rvm/bin:/home/john/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/john/software/apache-maven-2.2.1/bin:/home/john/software/groovy-1.7.10/bin:/home/john/.rvm/bin
其实不神秘,rvm use 的目的就是覆盖原来的系统路径。 另外如果不知道第一行为什么要这么写,建议 google 一下 shebang,然后 man 一下 evn
谢谢帮助
#1 楼 @huacnlee 我因为第一次装 ruby 的时候是直接装的,后来版本出现了问题,加上系统出现了一些其他问题,重装后就按照http://ruby-china.org/wiki/install_ruby_guide 装了,系统里只有 RVM 的 ruby,我装上试试看
#4 楼 @fsword
是不是在平时,系统是优先用自己定义的 rvm 环境变量里面的 Ruby,就没有用/usr/bin 里面的 ruby?
#5 楼 @oa414 当你执行rvm use system以后就是系统安装的 ruby,不过这种问题不要再问别人了,自己去echo $PATH是学习的第一步
rvm use system
echo $PATH
参考 https://rvm.io/integration/cron/
我觉得你把 #!/usr/bin/env ruby 换成 #!/usr/local/rvm/bin/ruby-1.9.2-p290@projectX 应该就 ok 了,未测试