可以跳过.rvmrc确认吗?

我们使用RVM来pipe理Ruby安装和环境。

通常我们使用这个.rvmrc脚本:

 #!/bin/bash if [ ! -e '.version' ]; then VERSION=`pwd | sed 's/[az/-]//g'` echo $VERSION > .version rvm gemset create $VERSION fi VERSION=`cat .version` rvm use 1.9.2@$VERSION 

该脚本强制RVM为每个项目/版本创build新的gem环境。

但每次我们部署新版本的RVM都要求我们确认新的 .rvmrc文件。

当我们第一次进入这个目录时,我们得到如下的东西:

   ================================================== =============
   =注意:=
   ================================================== =============
   = RVM在=中遇到了尚不可信的.rvmrc文件
   =当前工作目录可能包含恶意代码。  =
   = =
   =检查这个文件的内容以确保内容=
  在相信它之前呢是好的!  =
   = =
   =读完文件=时按'q'退出阅读器
   ================================================== =============

   (准备好后按回车继续)

这对于开发环境来说不是那么糟糕,但是通过自动部署,需要手动确认每个服务器上的每个新版本。

有没有可能跳过这个确认?

我在韦恩博客上find这些笔记, http: //wayneeseguin.beginrescueend.com/

基本上,增加:

 export rvm_trust_rvmrcs_flag=1 

~/.rvmrc将绕过检查。

还有用于手动信任/不信任.rvmrc文件的rvm rvmrc <command> [dir]

寻找同样的事情,所以认为我会张贴解决scheme。

HTH

问候,

菲尔

在我的部署中,我不使用.rvmrc。 我只使用rvm use 1.9.2 --default就像我一样; 确定我的默认ruby是1.9.2,而不是另一个,如果我不在这个特定的目录。

rvm_project_rvmrc=0中selectrvm_project_rvmrc=0之后,你可以确定没有使用其他的ruby。

 $ curl -L https://get.rvm.io | bash -s -- --version 1.16.20 $ rvm --version rvm 1.16.20 (version) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/] $ grep less .rvm/scripts/cli .rvm/bin/rvm-installer .rvm/src/rvm/scripts/cli .rvm/src/rvm/binscripts/rvm-installer .rvm/scripts/cli: } | less .rvm/bin/rvm-installer: } | less .rvm/src/rvm/scripts/cli: } | less .rvm/src/rvm/binscripts/rvm-installer: } | less 

修正:

 $ sed -i 's/ | less//' .rvm/scripts/cli .rvm/bin/rvm-installer .rvm/src/rvm/scripts/cli .rvm/src/rvm/binscripts/rvm-installer 

替代但意外的退出0需要多次执行

例如安装ruby(不改变原始的rvm安装)将重复执行

 #!/bin/bash rvm list | grep ree-1.8.7-2011.12 || ( rvm install ree-1.8.7-2011.12 & expect "^Press 'q' to continue." send "q\n" exp_continue ) rvm list | grep ruby-1.9.3-p194 || ( rvm install ruby-1.9.3-p194 & expect "^Press 'q' to continue." send "q\n" exp_continue )