2011-01-14 4 views
14

데비안 lenny 서버에 최신 루비와 레일을 설치하고 싶습니다.debian lenny에 ruby ​​1.9.2를 설치하는 방법은 무엇입니까?

나는 패키지 http://packages.debian.org/lenny-backports/ruby1.9.1-full을 발견하지만 난 그것을 설치하려고 할 때 바로 얻을 :

내 sources.list 파일은 다음과 같습니다
atlas:~# apt-get install ruby1.9.1-full 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
E: Couldn't find package ruby1.9.1-full 

: I가해야 할 일을

atlas:~# cat /etc/apt/sources.list 

deb http://ftp.se.debian.org/debian/ lenny main non-free contrib 
deb-src http://ftp.se.debian.org/debian/ lenny main non-free contrib 

deb http://security.debian.org/ lenny/updates main contrib non-free 
deb-src http://security.debian.org/ lenny/updates main contrib non-free 

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free 
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free 

설치 되니?

+0

[수퍼 유저] (http://superuser.com/)가 더 나은 장소 일 수 있습니다. – vikingosegundo

+0

@vikingosegundo : 동의합니다. 이것은 프로그래밍과 관련이 없습니다. 기본적으로 "[SuperUser] (http://SuperUser.Com/) 유형 질문 인"내 운영 체제는 어떻게 사용합니까? "[Unix 및 Linux StackExchange] (http : /Unix.StackExchange.Com/), 현재로서는 질문을 마이그레이션 할 수있는 방법이 없습니다. –

+0

흠, 좋아, 지금까지는 수퍼 유저에 대해 들어 본 적이 없기 때문에 그것을 지적 해 주셔서 감사합니다. – Jeena

답변

17

중지. 돌아 가라. 루비 데비안의 버전은 1.8.7 또는 1.8.7 정도라면 설치하십시오. 그런 다음 RVM을 설치하십시오. using RVM with Ubuntu에 대한 몇 가지 지침이 있습니다 (미안하지만 데비안이 아니지만 가까운 것입니다). 진지하게, RVM은 Ruby의 모든 버전을 쉽게 설치하게 만듭니다. 그런 다음 RVM을 사용하여 Ruby 1.9.2를 설치하면 1.9.1을 원하지 않습니다.

Ruby를 사용하고자하는 대상에 따라 작동합니다. 개발 목적으로 RVM을 사용하면 정말 잘 작동합니다. 서버 용도로는 사용할 수 있다고 생각되지만 문제가있을 수 있습니다. RVM은 init 스크립트 및 cron 작업으로 Ruby 스크립트를 실행하는 데 사용할 수있는 몇 가지 스크립트를 제공한다고 생각합니다.

또는 소스에서 설치할 수 있습니다. 그것은 어렵지 않고 데비안 방식이 아니지만 일을 끝내게됩니다. 일부 제 3 자 패키지를 설치하는 것, 컴파일 타임에 무엇을했는지 모를 수있는 곳, 보안 취약성의 경우 신속한 업데이트를 얻는 것이 좋습니다. RVM을 사용하거나 소스에서 수동으로 설치하면 필요할 때마다 업데이트 할 수 있습니다.

+0

2 일 전부터 소스에서 사용해 보았습니다. 루비는 문제가 아니지만 항상 rubygems 또는 다른 문제가 발생합니다. 스크립트를 실행하고 싶을 때 마침내 gem이 작동하고 설치 될 때 젬이 생겼습니다. "gem_prelude.rb : 114 : push_gem_version_on_load_path에 : 정의되지 않은 메소드 '<=>'for nil : NilClass (NoMethodError) " – Jeena

+0

이상한 점이 있습니다 ... 저는 루비를 소스에서 여러 번 설치 했었습니다. (지금은 RVM 만 사용하고 있습니다. 정말 열심히 추천 할 수는 없지만) 결코 발생하지 않았습니다. 그런 것. 하지만 먼저, 1.9.1을 설치하려고 했습니까? Ruby 1.9.x를 원한다면 1.9.1이 광범위하게 지원되지는 않았으므로 (Ruby 1.9.2를 사용해야합니다.) 또한 Ruby 1.9.2에는 Rubygems가 이미 설치되어 있으므로 설치하려고하면 더 많은 문제가 발생합니다. Ruby 1.9.2를 설치하고 sudo gem install rails을 설치하기 만하면됩니다. 그게 전부 야. – AboutRuby

+0

문제는 소스에서 설치하면 설치 장소가 잘 모르고 올바른 보석 명령이나 다른 것을 사용하지 않는다는 것입니다. 시도의 2 일 후에 거기에 같은 이름의 더 많은 버전이있다;) – Jeena

8

먼저 실행이 :

apt-get update 

그런 다음 ...
apt-get install ruby 

이 그럼 당신은 젬

wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz 

의 압축을 풉니의 젬이 필요

루비를 설치

tar xvf rubygems-1.3.5.tgz 
cd rubygems-1.3.5 
ruby setup.rb 
ln -s /usr/bin/gem1.8 /usr/bin/gem 
,536,913 63,210

지금 업데이트 젬

gem update --system 

그리고 지금 우리는 레일

gem install rails 

설치하는 경우 다음과 같은 명령을 succesfull했다 확인할 수 있습니다 설치할 수 있습니다 : 당신이 더 필요한 경우

ruby -v 
rails -v 
gem -v 

을 도와 줘!

apt-get install ruby 

apt-get install ruby1.9 

와 방금 ruby1.9-dev에 설치할 수 있습니다 dev에 헤더를해야하는 경우 : 당신이 원하는 경우

루비는 다음 명령을 대체 1.9.2.

apt-get install ruby1.9-dev 

당신이 그 (것)들에게 당신이 당신의 apt-get을 소스를 볼 필요가 이런 식으로 설치하지 못할 경우.

apt-cache search ruby1.9 

libhtree-ruby1.9 - HTML/XML tree library for Ruby 1.9 
.... 
libinotify-ruby1.9 - Ruby interface to Linux's inotify system 
.... 
libdbm-ruby1.9 - DBM interface for Ruby 1.9 
libgdbm-ruby1.9 - GDBM interface for Ruby 1.9 
.... 
**ruby1.9-dev** - Header files for compiling extension modules for the Ruby 1.9 
ruby1.9-elisp - ruby-mode for Emacsen 
ruby1.9-examples - Examples for Ruby 1.9 
**ruby1.9** - Interpreter of object-oriented scripting language Ruby 1.9 
libstfl-ruby1.9 - Ruby bindings for the structured terminal forms language/library 

난 내가 (하지만 난 여기에 포함되지 않았다 ..)

+2

이것은 루비 1.8을 설치할 것이고, 루비 1.9.2가 필요합니다. – Jeena

3

최근에, 데비안 메인 테이너 중 하나 제공을 어떤 루비를 설치하지 마십시오 RVM을 사용 제안이 helps.And 희망 http://www.lucas-nussbaum.net/blog/?p=617 데비안의 루비는 추악하고 종종 부서 지곤했기 때문에 설치하는 가장 좋은 방법은 지금 rvm을 사용하는 것입니다. rvm은 gemset과 동일한 버전의 루비를 관리하는 작은 프로그램입니다. 당신은 레니의 백 포트 저장소에서 패키지를 설치하려는 경우

2

, 당신은 분명히 그것을 가질 필요가 당신의 sources.list :

deb http://Backports.Debian.Org/debian-backports lenny-backports main contrib non-free 
deb-src http://Backports.Debian.Org/debian-backports lenny-backports main contrib non-free 

백 포트가 다른 패키지가 있다는 일반 엄격한 품질 심사의 대상이 아니기 때문에 , 기본적으로 비활성화되어 있습니다. 당신이 백 포트 저장소에서 패키지를 설치하려는 경우, 당신은 단지 experimental 저장소와 같은 명시 적으로 apt-get 또는 aptitude에 분배를 통과해야 다음 백 포트 패키지가 기본적으로 사용되기 때문에

, 당신은 원
apt-get -t lenny-backports install ruby191-full # or 
aptitude -t lenny-backports install ruby191-full 

' 당신이 /etc/apt/preferences에 고정 기능을 추가하지 않으면 t은 심지어 그들에 대한 보안 업데이트를 얻을 : 당신이하지 않도록주의해야한다

Package: * 
Pin: release a=lenny-backports 
Pin-Priority: 200 

All of this is clearly spelled out on the Debian Backports website.

주 믹스 패키지 관리 시스템. RubyGems를 통해 APT 또는을 통해 모든 Ruby 라이브러리를 설치해야하지만 일반적으로 혼합하는 것은 좋지 않습니다.

또한 Debian의 RubyGems 패키지를 사용하는 경우 RubyGems의 기본 업데이트 메커니즘 (gem update --system)을 통하지 않고 APT를 통해서만 업데이트해야합니다. 실제로, 나는 현재 버전에서 데비안이 이것을 방지하기 위해 업데이트 메커니즘을 제거했다고 믿지만 항상 그렇지는 않습니다.

개인적으로 프로덕션 서버에서 문제없이 데비안 루비 패키지를 사용하며 을 전혀 사용하지 않습니다.으로, 데비안에서 제공하는 Ruby 라이브러리 만 사용합니다. 어쨌든 ...

4

RVM은 훌륭한 솔루션이지만, 생산 환경에 대한 없습니다. $ PATH 마법은 너무 까다 롭고 너무 자주 끊어집니다.

직접 빌드하는 것이 좋습니다. 소스에서 Ruby를 컴파일 한 다음 checkinstall을 사용하여 설치합니다. 그런 다음 임의의 시스템에 작성한 .deb를 배포하고 임의의 패키지처럼 dpkg 을 사용하여 설치/제거 할 수 있습니다.

Here's a tutorial이 작업은 우분투에서 수행됩니다. 데비안으로 쉽게 변환되어야합니다.

관련 문제