2014-03-27 4 views
1

Ruby를위한 '로컬'보석 저장소와 같은 것을 가질 수 있습니까?로컬 보석 저장소? '보석'없이 루비 보석을 설치 하시겠습니까?

관리자 권한이없는 사용자 지정 Linux 배포를 위해 노력하고 있습니다. 루비는 머신에 설치되어 있지만 (v.1.8.7) 분명히 'gem'이나 'bundle'등은 설치되어 있지 않습니다. Nokogiri와 같은 루비 보석을 사용해야합니다.

gem install을 통해 Ruby gem을 설치하지 않고도 사용할 수 있습니까?

+0

당신은 1.8 버전의 루비 젬을 추가로 설치할 수 있습니다. 필요한 경우 번들러. –

+0

설명을 읽었습니까? 관리자 권한이 없으므로 루비 젬이나 번들을 설치할 필요가 없습니다. – jakkolwiek

답변

6

예. 모든 보석은 독립형으로 사용할 수 있습니다. github에서 소스를 다운로드하거나 gem을 다운로드하고 내용을 수동으로 추출하면됩니다.

루비의로드 경로 ($:)에 젬의 lib 폴더를 추가해야합니다. 예를 들어 :

$:.unshift(File.expand_path("nokogiri-1.6.1/lib")) 
require 'nokogiri' 

는 현재 디렉토리에 루비를 실행하는 가정 및 노코 기리 소스 폴더 nokogiri-1.6.1에 있습니다.

하지만 먼저 Nokogiri 전제 조건을 모두 준수해야합니다. 나는. 모든 도서관 Nokogiri에 달려 있습니다.

내가 할 수있는 또 다른 옵션은 홈 디렉토리에 RubyGems를 설치하는 것입니다. 즉 비록 까다로운 조금 얻을 수 있지만, 같은 뭔가를 루비 젬 패키지를 다운로드 및 실행 가능 :

ruby setup.rb --prefix=/home/my_user_name/rubygems 

그런 다음 당신은 ENV 변수를 GEM_HOME 설정해야하고 GEM_PATH을 홈 디렉토리의 위치를 ​​가리 키도록 어디서 모든 보석을 설치하기를 원하십니까? 그들이하는 일에 대한 설명은 "What's the difference between GEM_HOME and GEM_PATH?"을 참조하십시오.

gem 명령을 셸에서 찾을 수 있도록 에 /home/my_user_name/rubygems/bin과 같은 내용을 추가해야합니다.

+0

...이 질문은 내 질문에 대한 완벽한 답변입니다. 정말 고마워! :) – jakkolwiek

관련 문제