É possível pular a confirmação .rvmrc?


16

Estamos usando o RVM para gerenciar instalações e ambientes Ruby.

Normalmente, estamos usando este .rvmrcscript:

#!/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

Esse script força o RVM a criar um novo ambiente de gemas para cada projeto / versão.

Porém, cada vez que implantávamos uma nova versão, o RVM pede para confirmarmos um novo .rvmrc arquivo.

Quando acessamos cdeste diretório pela primeira vez, obtemos algo como:

  ==================================================== =============
  = AVISO: =
  ==================================================== =============
  = O RVM encontrou um arquivo .rvmrc ainda não confiável no =
  = diretório de trabalho atual que pode conter código desagradável. =
  = =
  = Examine o conteúdo deste arquivo para garantir que o conteúdo =
  = são bons antes de confiar! =
  = =
  = Pressione 'q' para sair do leitor quando terminar de ler o arquivo =
  ==================================================== =============

  (pressione enter para continuar quando estiver pronto)

Isso não é tão ruim para ambientes de desenvolvimento, mas com a implantação automática, é necessário confirmar manualmente cada nova versão em cada servidor.

É possível pular esta confirmação?

Respostas:


24

Encontrei essas anotações no blog de Waynes, http://wayneeseguin.beginrescueend.com/

Basicamente, adicionando:

export rvm_trust_rvmrcs_flag=1

para ~/.rvmrcignorar a verificação.

Também existe rvm rvmrc <command> [dir]para .rvmrcarquivos manualmente confiáveis ​​ou não confiáveis .

Procurando a mesma coisa, pensei em publicar a solução.

HTH

Saudações,

Phil


Apenas o que eu precisava!
01-01

3

Na minha implantação, não uso o .rvmrc. Eu uso apenas rvm use 1.9.2 --defaultassim eu a; Certifique-se de que meu ruby ​​padrão seja 1.9.2 e não outro se não estiver neste diretório específico.

Após a opção rvm_project_rvmrc=0em seu rvmrc, verifique se não há outro ruby ​​usado.


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

O conserto:

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

Estou revendo esta "resposta tardia" e acho bom responder a essa pergunta. A única melhoria em que pude pensar é realmente explicar as mudanças que o comando sed faria.
Eckes

0

A saída 0 alternativa mas inesperada requer execução múltipla

por exemplo, instalar o ruby ​​(sem alterar a instalação original do rvm) executará repetidamente

#!/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
)

O que você quis dizer com sua resposta? O que faz este código? @PhilT já respondeu a esta pergunta.
Viacheslav Molokov
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.