เป็นไปได้ไหมที่จะข้ามการยืนยัน. rvmrc?


16

เรากำลังใช้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 สร้างสภาพแวดล้อมแบบใหม่สำหรับแต่ละโครงการ / เวอร์ชันของเรา

แต่ทุกครั้งที่เราปรับใช้ RVM เวอร์ชันใหม่ขอให้เรายืนยันไฟล์ใหม่ .rvmrc

เมื่อเราcdเข้าสู่ไดเรกทอรีนี้เป็นครั้งแรกเราจะได้รับ:

  ================================================== =============
  = ประกาศ: =
  ================================================== =============
  = RVM พบไฟล์. rvmrc ที่ยังไม่น่าเชื่อถือใน =
  = ไดเรกทอรีทำงานปัจจุบันซึ่งอาจมีรหัสที่น่ารังเกียจ =
  = =
  = ตรวจสอบเนื้อหาของไฟล์นี้เพื่อให้แน่ใจว่าเนื้อหา =
  = ดีก่อนที่จะไว้วางใจ! =
  = =
  = กด 'q' เพื่อออกจากโปรแกรมอ่านเมื่ออ่านไฟล์เสร็จแล้ว =
  ================================================== =============

  (กด Enter เพื่อดำเนินการต่อเมื่อพร้อม)

สิ่งนี้ไม่ได้เลวร้ายสำหรับสภาพแวดล้อมการพัฒนา แต่ด้วยการปรับใช้อัตโนมัติจึงต้องยืนยันด้วยตนเองว่าแต่ละเวอร์ชันใหม่ในแต่ละเซิร์ฟเวอร์

เป็นไปได้ไหมที่จะข้ามการยืนยันนี้?

คำตอบ:


24

ฉันพบบันทึกเหล่านี้ในบล็อก Waynes, http://wayneeseguin.beginrescueend.com/

โดยทั่วไปการเพิ่ม:

export rvm_trust_rvmrcs_flag=1

เพื่อ~/.rvmrcจะข้ามการตรวจสอบ

นอกจากนี้ยังมีไฟล์ที่rvm rvmrc <command> [dir]ไว้วางใจ / ไม่ไว้วางใจด้วยตนเอง.rvmrc

กำลังมองหาสิ่งเดียวกันดังนั้นคิดว่าฉันจะโพสต์วิธีแก้ปัญหา

HTH

ความนับถือ,

ฟิล


สิ่งที่ฉันต้องการ!
b01

3

ในการปรับใช้ของฉันฉันไม่ได้ใช้. rvmrc ฉันใช้แบบเดียวrvm use 1.9.2 --defaultกับที่ฉัน; แน่ใจว่าทับทิมเริ่มต้นของฉันคือ 1.9.2 และไม่ใช่อื่นหากฉันไม่ได้อยู่ในไดเรกทอรีนี้

หลังจากใช้ตัวเลือกrvm_project_rvmrc=0ใน rvmrc ของคุณคุณต้องแน่ใจว่าไม่มีการใช้ทับทิมอื่น


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

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.