루비 스크립트 헤더에 사용할 루비 인터프리터와 gemset을 지정하고 싶습니다.스크립트 헤더에서 rvm gemset을 선택하십시오.
#!/usr/bin/env source /usr/local/lib/rvm && rvm [email protected]
줄을 따라 뭔가가 있습니다.
어떻게해야합니까? 이 요점 밖으로
루비 스크립트 헤더에 사용할 루비 인터프리터와 gemset을 지정하고 싶습니다.스크립트 헤더에서 rvm gemset을 선택하십시오.
#!/usr/bin/env source /usr/local/lib/rvm && rvm [email protected]
줄을 따라 뭔가가 있습니다.
어떻게해야합니까? 이 요점 밖으로
이
#!/usr/bin/env /usr/local/bin/[email protected]
tcurdt의 게시물 약간 오해의 소지가 ... 그것을 할 수있는 방법입니다. 내 시스템에서 나는 root로 시스템에 rvm (ree, 1.8.7, & 1.9.2 루비)을 설정했다. 내/usr/지방/빈은 다음과 같이 보았다 : 나는 tcurdt의 예에서와 같이 gemset라는 시스템을 가지고하지 않았다
lrwxrwxrwx 1 root rvm 46 Mar 13 06:50 ree-1.8.7-2011.03 -> /usr/local/rvm/wrappers/ree-1.8.7-2011.03/ruby
lrwxrwxrwx 1 root rvm 44 Mar 13 06:42 ruby-1.8.7-p334 -> /usr/local/rvm/wrappers/ruby-1.8.7-p334/ruby
lrwxrwxrwx 1 root rvm 44 Mar 11 22:42 ruby-1.9.2-p180 -> /usr/local/rvm/wrappers/ruby-1.9.2-p180/ruby
. 그래서 난 당신과 같이 될 것이다 계신 달성하기 위해 적절한 방법을 생각 :
#!/usr/bin/env /usr/local/bin/ruby-1.9.2-p180
무엇 RVM의 일부 설명은 여기하고있다 : RVM은 래퍼 스크립트를 생성 (/ usr/지방/RVM/래퍼/*) GEM_PATH
& GEM_HOME
과 같은 것을 설정합니다. 보석이 특정 버전의 루비의 일부로 올바르게로드 될 수 있도록하기 위해 필요합니다. 이러한 래퍼 스크립트에 대한 링크는 rvm의 시스템 설치를 수행 할 때 /usr/local/bin
아래에 만들어집니다. 자신이 rvm을 설치했다면 여기에 있습니다 : $HOME/.rvm/bin
.
세번 줄 (#!/....) 앞에 /usr/bin/env
을 붙이는 것이 중요합니다. 루비 (예 : #!/usr/local/bin/ruby-1.9.2-p180)에 직접 연결하려고하면 충분하지 않습니다.
source "/usr/local/rvm/environments/ruby-1.9.2-p180"
exec ruby "[email protected]"
[email protected]
이 쉘입니다 :이 래퍼 실제로 루비 인터프리터하지 않기 때문에 이것은 그들이과 같이, 이전의 루비 인터프리터에 인수로 스크립트를 호출하는 환경 설정을 소싱하는 쉘 스크립트입니다입니다 루비에 전달되는 스크립트 이름. 링크에 대한
#!/usr/bin/env /usr/local/bin/ruby-1.9.2-p180
puts "Content-Type: text/html"
puts
puts "<html>"
puts "<body>"
puts "<h1>Hello Ruby!</h1>"
puts "<p>shebang: #!/usr/bin/env /usr/local/bin/ruby-1.9.2-p180</p>"
puts "<p>RUBY_VERSION: " + RUBY_VERSION + "</p>"
puts "<p>RUBY_PLATFORM: " + RUBY_PLATFORM + "</p>"
puts "<p>RUBY_RELEASE_DATE: " + RUBY_RELEASE_DATE + "</p>"
puts "</body>"
puts "</html>"
이
매우 정교하면서 질문에 대한 정답이 아닙니다. 특정 루비 버전뿐만 아니라 gemset도 선택하고 싶지 않습니다! 다행스럽게도 rvm은 루비 버전뿐만 아니라 보석 세트를위한 래퍼 스크립트를 생성합니다. 물론 "시스템"보석을 가지고 있지 않다면 선택하려고하는 것이 아닙니다.) BTW : 루비 버전을 선택하기 만하면 rvm-shell도 사용할 수 있습니다 – tcurdt
rvm-shell을 발견하지 못했습니다.따라서 다음을 사용할 수 있습니다 : #!/usr/bin/env/usr/local/bin/rvm-shell? 어떤 루비와 보석 세트로 끝낼까요? – slm
#!/usr/bin/env rvm [email protected] do ruby
이것은 이것을 달성하는 가장 깨끗한 방법처럼 보입니다. –
이것은 나를 위해 작동하지 않습니다. RVM 1.26.11, 우분투 15.04 –
흠, 내 시스템의 아무도/usr/local/bin에 symlinked ruby를 가지고 있지 않습니다. – Kevin
어쩌면 그들은 시스템의 다른 곳에서 있을까요? – tcurdt