[server] .rvmrc 확인을 건너 뛸 수 있습니까?

우리는 루비 설치와 환경을 관리하기 위해 RVM 을 사용 하고 있습니다.

보통 우리는이 .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 키를 누르십시오)

이는 개발 환경에 나쁘지는 않지만 자동 배포를 사용하면 각 서버에서 각 새 버전을 수동으로 확인해야합니다.

이 확인을 건너 뛸 수 있습니까?



답변

Waynes 블로그 ( http://wayneeseguin.beginrescueend.com/) 에서이 메모를 찾았습니다 .

기본적으로 다음을 추가합니다.

export rvm_trust_rvmrcs_flag=1

하는 ~/.rvmrc체크 우회.

도 있습니다 rvm rvmrc <command> [dir]수동 / untrusting 신뢰를 위해 .rvmrc파일을.

같은 것을 찾고 솔루션을 게시 할 것이라고 생각했습니다.

HTH

문안 인사,


답변

내 배포에서는 .rvmrc를 사용하지 않습니다. 나는 rvm use 1.9.2 --default그런 식으로 만 사용 합니다. 내 기본 루비가 1.9.2인지 확인 하고이 특정 디렉토리에 없으면 다른 것이 아닙니다.

rvm_project_rvmrc=0rvmrc 에서 옵션 을 사용한 후에는 사용 된 다른 루비가 없는지 확인하십시오.


답변

$ 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


답변

대안이지만 예기치 않은 종료 0은 여러 번 실행해야합니다.

예를 들어 루비를 설치하면 (원래의 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
)


답변