是否可以跳过.rvmrc确认?


16

我们正在使用RVM来管理Ruby安装和环境。

通常我们使用以下.rvmrc脚本:

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

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

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

当我们cd第一次进入这个目录时,我们得到的是:

  ================================================== =============
  =注意:=
  ================================================== =============
  = RVM在=中遇到了尚未受信任的.rvmrc文件
  =当前的工作目录,其中可能包含讨厌的代码。=
  = =
  =检查此文件的内容以确保内容=
  =在信任之前是好的!=
  = =
  =阅读完文件后,按“ q”退出阅读器=
  ================================================== =============

  (准备好后按Enter继续)

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

是否可以跳过此确认?

Answers:


24

我在Waynes博客(http://wayneeseguin.beginrescueend.com/)上找到了这些笔记

基本上,添加:

export rvm_trust_rvmrcs_flag=1

~/.rvmrc将绕过检查。

rvm rvmrc <command> [dir]可以手动信任/不信任.rvmrc文件。

寻找同一件事,以为我会发布解决方案。

高温超导

问候,

菲尔


正是我所需要的!
2013年

3

在部署中,我不使用.rvmrc。我只rvm use 1.9.2 --default这样使用 确保我的默认红宝石是1.9.2,如果我不在此特定目录中,则不要使用另一个。

rvm_project_rvmrc=0rvmrc中使用该选项后,请确保没有使用其他红宝石。


0
$ curl -L https://get.rvm.io | bash -s -- --version 1.16.20

$ rvm --version

rvm 1.16.20 (version) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [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

我正在审查此“最新答案”,并认为您回答这个问题很好。我能想到的唯一改进是实际解释了sed命令所做的更改。
eckes 2012年

0

替代但意外退出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
)

你的答案是什么意思?该代码的作用是什么?@PhilT已经回答了这个问题。
Viacheslav Molokov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.