2011-01-14 11 views
14

Chciałbym zainstalować najnowsze ruby ​​i szyny na moim serwerze debian lenny.Jak zainstalować ruby ​​1.9.2 na debian lenny?

Znalazłem pakiet http://packages.debian.org/lenny-backports/ruby1.9.1-full ale gdy próbuję zainstalować go po prostu dostać:

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 

Moje sources.list wygląda tak:

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 

Co muszę zrobić, aby go zainstalować?

+0

[superuser] (http://superuser.com/) może być lepszym miejscem do zapytania. – vikingosegundo

+0

@vikingosegundo: Zgadzam się. To nie ma nic wspólnego z programowaniem. Zasadniczo jest to "jak używać mojego systemu operacyjnego", który jest pytaniem typu [SuperUser] (http://SuperUser.Com/), chociaż prawdopodobnie jest bardziej odpowiedni dla [Unix i Linux StackExchange] (http: // /Unix.StackExchange.Com/), ale obecnie nie ma sposobu na migrację tam pytań. –

+0

Hm, ok, nigdy nie słyszałem o superużytkowniku, dziękuję za wskazanie go. – Jeena

Odpowiedz

17

Stop. Wróć. Zainstaluj dowolną wersję Ruby Debian, prawdopodobnie 1.8.7 lub 1.8.7. Następnie zainstaluj RVM. Mam kilka wskazówek dla using RVM with Ubuntu (przepraszam, nie Debian, ale jest blisko). Poważnie, RVM sprawia, że ​​instalacja dowolnej wersji Ruby jest łatwa. Następnie użyj RVM do zainstalowania Ruby 1.9.2, nie chcesz 1.9.1.

To będzie działać w zależności od tego, do czego chcesz używać Ruby. Do celów programistycznych używanie RVM działa naprawdę dobrze. Dla celów serwera, przypuszczam, że można go użyć, ale możesz mieć pewne problemy. Myślę, że RVM daje ci kilka skryptów, za pomocą których możesz uruchamiać skrypty Ruby ze skryptami init i zadaniami cron.

Lub można po prostu zainstalować ze źródła. To nie jest trudne i nie jest to debian, ale to się uda. Może to być lepsze niż instalowanie pakietów stron trzecich, w których możesz nie mieć pojęcia, co zrobiły podczas kompilacji, i jak uzyskać szybkie aktualizacje w przypadku luki w zabezpieczeniach. Używając RVM lub instalując ręcznie ze źródła, możesz aktualizować w dowolnym momencie.

+0

Próbowałem go od źródła przez 2 dni. Ruby nie jest problemem, ale potem zawsze mam problemy z rubygemami lub czymś, kiedy w końcu mam klejnot i instaluję rzeczy, kiedy chcę uruchomić skrypt, zawsze mówi: "gem_prelude.rb: 114: in' push_gem_version_on_load_path ': undefined method '<=> 'for nil: NilClass (NoMethodError)" – Jeena

+0

To dziwne ... Zainstalowałem Rubiego wiele razy ze źródła (i teraz używam wyłącznie RVM, naprawdę nie mogę go polecić ani mocniej), i nigdy nie spotkałem nic podobnego. Ale po pierwsze, czy próbowałeś zainstalować 1.9.1? Ponieważ 1.9.1 nigdy nie był tak naprawdę szeroko obsługiwany (był to rodzaj eksperymentalnej gałęzi), jeśli chcesz Ruby 1.9.x, powinieneś używać Ruby 1.9.2. Zauważ, że Ruby 1.9.2 zawiera już zainstalowane Rubygem, więc jeśli spróbujesz to zainstalować, napotkasz więcej problemów. Powinieneś po prostu zainstalować Ruby 1.9.2, a potem sudo gem rails. to jest to! – AboutRuby

+0

Myślę, że problem polega na tym, że jeśli zainstaluję go ze źródła, nie wiem, gdzie jest zainstalowany i dlatego nie używam właściwego polecenia gem lub czegoś podobnego. Po dwóch dniach próbowania jest jeszcze kilka wersji tych samych nazw w całym miejscu;) – Jeena

8

Pierwszy bieg to:

apt-get update 

Następnie zainstalować Ruby

apt-get install ruby 

Następnie trzeba RubyGems

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

rozpakować rubygems ...

tar xvf rubygems-1.3.5.tgz 
cd rubygems-1.3.5 
ruby setup.rb 
ln -s /usr/bin/gem1.8 /usr/bin/gem 

Aktualizuj rubygems

gem update --system 

A teraz możemy zainstalować szyny

gem install rails 

Można sprawdzić, czy instalacja była udana z następujących poleceń:

ruby -v 
rails -v 
gem -v 

Jeśli potrzebujesz więcej daj mi znać!

Jeśli chcesz Ruby 1.9.2 wymienić następujące polecenia:

apt-get install ruby 

z

apt-get install ruby1.9 

Jeśli potrzebujesz nagłówki dev można po prostu zainstalować ruby1.9-dev.

apt-get install ruby1.9-dev 

Jeśli nie możesz ich zainstalować w ten sposób, musisz przejrzeć swoje źródła 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 

Mam nadzieję, że ten helps.And proponuję korzystania RVM (ale nie obejmowały że tutaj ..)

+2

to zainstalowałoby ruby ​​1.8, potrzebowałem ruby ​​1.9.2 – Jeena

3

nie wolno instalować żadnych rubiny przez Debiana, niedawno jeden z głównym opiekunem daje na nich: http://www.lucas-nussbaum.net/blog/?p=617 Rubiny rubinowe były brzydkie i często zepsute, więc najlepszym sposobem na ich instalację jest teraz użycie rvm, małego programu, który zarządza gemsetem i różnymi wersjami rubinów w tej samej maszynie.

2

Jeśli chcesz zainstalować pakiet z backports repozytorium Lenny, to oczywiście trzeba mieć go w swoim 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 

Ponieważ backporty nie podlegają normalnym ścisłej kontroli jakości, że inne pakiety są , są domyślnie wyłączone. Jeśli chcesz zainstalować pakiet z repozytorium backports, trzeba wyraźnie zdać dystrybucję do apt-get lub aptitude, podobnie jak z repozytorium experimental:

apt-get -t lenny-backports install ruby191-full # or 
aptitude -t lenny-backports install ruby191-full 

Ponieważ przeniesione pakiety są domyślnie wyłączone, wygrałeś” t nawet dostać aktualizacje zabezpieczeń dla nich, chyba że dodasz przypinania w /etc/apt/preferences:

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

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

pamiętać, że należy uważać, aby nie mix systemów zarządzania pakietami. Powinieneś albo zainstalować wszystkie biblioteki Ruby przez APT lub przez RubyGems, ale ogólnie nie jest dobrym pomysłem, aby je wymieszać.

Ponadto, jeśli używasz pakietu RubyGems Debiana, powinieneś go aktualizować tylko przez APT, a nie przez wbudowany mechanizm aktualizacji RubyGems (gem update --system). Właściwie uważam, że w obecnych wersjach Debian usunął mechanizm aktualizacji, aby temu zapobiec, ale nie zawsze tak było.

Osobiście używam pakietów Rubian Ruby bez problemów na serwerze produkcyjnym, a ja nie używam RubyGems na wszystkich, używam tylko bibliotek Ruby dostarczonych przez Debiana.

4

RVM jest doskonałym rozwiązaniem, ale nie dla środowiskach produkcyjnych. Jego magia $ PATH jest zbyt trudna i zbyt często się psuje.

Proponuję zbudować dla ciebie .deb. Kompilujesz Ruby ze źródła, a następnie instalujesz ją za pomocą checkinstall. Następnie możesz rozprowadzić utworzony plik .deb na dowolnym komputerze i zainstalować/odinstalować go za pomocą dpkg , podobnie jak w przypadku każdego pakietu.

Here's a tutorial Który robi to w Ubuntu; powinien bardzo łatwo tłumaczyć na Debiana.

Powiązane problemy