2011-08-06 4 views
12

내 OS로 Debian Squeeze를 사용하고 Ruby on Rails 프로젝트를 개발하려고합니다. 이를 위해 나는 루비 패키지를 먼저 설치했다.Debian 압축시 기본 버전으로 ruby1.9.1을 설정하는 방법

내 루비 버전은 다음과 같습니다 ruby1.8, ruby1.9.1

가 그럼 난 ruby1.9.1 내 기본 루비를 만들기 위해 ruby1.8을 제거.

는 이제 실행하는 경우 :

$ which ruby 

는 아무것도 표시되지 않습니다.

나는 실행하는 경우 : 그러나

$ which ruby1.9.1 
/usr/bin/ruby1.9.1 

:

$ rails new testApp 
bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory 

어떻게 해야할지 모르겠어요. 나를 안내 해줘.

+0

이 질문을 참조하십시오 : http://stackoverflow.com/questions/1892877/how-do-i-make-ruby-1-9-the-default-ruby-on-ubuntu – weakish

답변

1

질문에 대한 직접적인 대답이 없지만 멋진 rvm (루비 버전 관리자) 도구 (http://beginrescueend.com/)를 사용해 보시기 바랍니다. 우분투에서 루비로 놀려고 할 때 내 인생을 훨씬 쉽게 만듭니다.

+0

답변 해 주셔서 감사합니다. 내가 실행할 때 너무 ** 배쉬는 <<(-s https://rvm.beginrescueend.com/install/rvm)** 내가 가진 컬 ** 오류 : RVM 저장소를 복제 할 수없는, 모두 자식을 시도 : // 및 HTTPS : // ** – Arivarasan

+0

당신이 방화벽 뒤에 있지 않은지 확인하고, 먼저 git를 설치하십시오. 설치 부트 스트랩 스크립트가 리소스를 체크 아웃 할 수 없다는 불만을 표시합니다. Google이이 문제에 가장 친한 친구가 될 것입니다. –

+1

참고 : RVM은 항상 최신을 확인 https://rvm.io/를 방문, 자신의 설치 절차를 변경했습니다. – ocodo

9

루비 1.9 기본값으로 얻을 내가 내 스퀴즈 박스에서 할 : 그들이는/usr에 릴레이 때문에

cd /usr/bin 
ln -sf ruby1.9.1 ruby 
ln -sf gem1.9.1 gem 
ln -sf erb1.9.1 erb 
ln -sf irb1.9.1 irb 
ln -sf rake1.9.1 rake 
ln -sf rdoc1.9.1 rdoc 
ln -sf testrb1.9.1 testrb 

내가 이런 식으로 다른 모든 데비안 루비 패키지가 분리되지 않습니다 레일 프로덕션 서버의 많은 실행을 /bin/ruby1.8 바이너리.

이것은 "진정한 데비안 방식"이 아니지만 어떤 이유로 update-alternatives은 squeeze에서 루비 구성을 지원하지 않습니다.

우분투 11.10에서 그냥 나는 또한 당신이 어떤 보석 데비안 squeeze 용 REALLY_GEM_UPDATE_SYSTEM=true gem update --system

12

(6.0) 설치를 시작하기 전에 젬를 업데이트하는 것이 좋습니다 원하는 버전

update-alternatives --config ruby를 실행하고 선택할 수 있습니다

우선 모든 루비 및 루비 1.8 패키지를 제거하십시오. 그렇지 않으면 루비 1.9에 대해 설정하려고하는 바이너리/링크를 방해합니다.

그런 다음 ruby ​​1.9 패키지를 설치하십시오. 이 패키지의 이름이 '1.9.1'이라도 실제로 데비안의 압착에 루비 버전 1.9.2를 설치합니다. 가상 패키지 ruby1.9.1-full 루비에 필요한 모든 패키지를 설치합니다 :

sudo aptitude install ruby1.9.1-full 

는 ri1.9.1 패키지 리와 맨 대체 링크를 추가합니다. (이 두 라인은 모두 하나 개의 명령입니다.)
sudo update-alternatives --install /usr/bin/ri ri /usr/bin/ri1.9.1 10 \ 
--slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri1.9.1.1.gz 

는 ruby1.9.1 패키지에 루비에 대한 대안 링크, 관련 바이너리와 맨 페이지를 추가합니다. (이 줄은 모두 하나의 명령입니다.이들 모두 (10)의 낮은 우선 순위 대체합니다 ( --install 플래그 후에 마지막 부분에 설치되지만 --slave 플래그 이전)되는)

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 10 \ 
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby1.9.1.1.gz \ 
--slave /usr/bin/erb erb /usr/bin/erb1.9.1 \ 
--slave /usr/bin/gem gem /usr/bin/gem1.9.1 \ 
--slave /usr/bin/irb irb /usr/bin/irb1.9.1 \ 
--slave /usr/bin/rake rake /usr/bin/rake1.9.1 \ 
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.1 \ 
--slave /usr/bin/testrb testrb /usr/bin/testrb1.9.1 \ 
--slave /usr/share/man/man1/erb.1.gz erb.1.gz /usr/share/man/man1/erb1.9.1.1.gz \ 
--slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem1.9.1.1.gz \ 
--slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb1.9.1.1.gz \ 
--slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake1.9.1.1.gz \ 
--slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc1.9.1.1.gz \ 
--slave /usr/share/man/man1/testrb.1.gz testrb.1.gz /usr/share/man/man1/testrb1.9.1.1.gz 

참고. 이것은 향후 버전의 데비안에서 대안 시스템의 일부로 루비 1.8과 루비 1.9를 모두 포함하고 이러한 링크를 무시할 수 있기를 희망합니다. 대안 시스템에서

확인 리 :

update-alternatives --display ri 

결과 : 대안 시스템의

ri - auto mode 
link currently points to /usr/bin/ri1.9.1 
/usr/bin/ri1.9.1 - priority 10 
slave ri.1.gz: /usr/share/man/man1/ri1.9.1.1.gz 
Current 'best' version is '/usr/bin/ri1.9.1'. 

확인 루비 :

update-alternatives --display ruby 

결과 :

ruby - auto mode 
link currently points to /usr/bin/ruby1.9.1 
/usr/bin/ruby1.9.1 - priority 10 
slave erb: /usr/bin/erb1.9.1 
slave erb.1.gz: /usr/share/man/man1/erb1.9.1.1.gz 
slave gem: /usr/bin/gem1.9.1 
slave gem.1.gz: /usr/share/man/man1/gem1.9.1.1.gz 
slave irb: /usr/bin/irb1.9.1 
slave irb.1.gz: /usr/share/man/man1/irb1.9.1.1.gz 
slave rake: /usr/bin/rake1.9.1 
slave rake.1.gz: /usr/share/man/man1/rake1.9.1.1.gz 
slave rdoc: /usr/bin/rdoc1.9.1 
slave rdoc.1.gz: /usr/share/man/man1/rdoc1.9.1.1.gz 
slave ruby.1.gz: /usr/share/man/man1/ruby1.9.1.1.gz 
slave testrb: /usr/bin/testrb1.9.1 
slave testrb.1.gz: /usr/share/man/man1/testrb1.9.1.1.gz 
Current 'best' version is '/usr/bin/ruby1.9.1'. 
+0

대체물 을 설치하는 중 다음과 같은 오류가 발생합니다. 'update-alternatives : error : 대체 보석은 루비의 노예가 될 수 없습니다 : 마스터 대체품입니다.' –

+0

어떤 데비안 버전입니까? 위의 명령은 특히 squeeze (6.x)에 대한 명령입니다. 아마도 rubygems1.8 패키지 또는 다른 루비 1.8 패키지 중 하나에서 설정이 남았을 것입니다. 해당 패키지 및 해당 구성이 완전히 제거 되었습니까? – finn

+0

ruby ​​1.8을 제거한 단계 * 1 *을 놓쳤습니다. 1.8 버전 간 전환 방법이 필요했습니다. 나는 총알을 물고 업그레이드 할 것이다. –

관련 문제