2010-11-20 18 views
5

Sono nuovo di Ruby e RoR. Ho un'istanza di Linode pulita con un'immagine di Ubuntu, e voglio compilare Ruby dal sorgente invece di usare apt-get. Ho cercato su google le istruzioni per farlo, ma dopo alcuni tentativi continuo a ricevere errori riguardo alla mancanza di zlib e altri pacchetti quando provo a eseguire alcuni esempi di tutorial.Prerequisiti richiesti per la compilazione di Ruby 1.9.2 su Linux?

Qualcuno può darmi istruzioni dettagliate (o un collegamento) che mi insegnino come ottenere i pacchetti prerequisiti necessari installati prima di compilare Ruby dalla fonte?

Il mio intento è compilare l'ultima versione stabile di Ruby, quindi installare Rubygems and Rails. Grazie per l'aiuto in anticipo !!!

+0

La compilazione da origine deve essere utilizzata solo se i pacchetti necessari non sono disponibili nei repository. – EmFi

risposta

3

I INOLTRE consiglia di utilizzare 'RVM' per installare tutti i rubini, soprattutto se lo si fa solo per uso personale. RVM farà tutta la compilation per te, mette tutto in ~/.rvm incluse le gemme e semplifica l'installazione di più versioni di Ruby e gemme per il test.

Installation e using gems ti faranno funzionare. Gli RVM Gemsets sono potenti e il comando ruby di RVM rende piacevole eseguire alcune azioni su tutti gli RVM Ruby installati gestiti.

RVM supporta anche system-wide installations offrendo la flessibilità di RVM se ne avete bisogno, ma è un po 'più complicato e non è necessario se siete su una macchina per utente singolo.

+0

piuttosto complicato da installare ma molto utile, mi è piaciuto! Grazie ! –

0

Perché non installare zlib? sudo aptitude install libz-dev

Ho compilato dal sorgente, ed è abbastanza buono per avvertirti quando ti manca una dipendenza.

18

This blog post copre i pacchetti necessari e il processo di installazione per compilare ruby ​​dalla sorgente; si riferisce a Ruby 1.9.1 ma dovrebbe funzionare bene anche con Ruby 1.9.2. Il vero po utile da questo post è:

sudo apt-get -y install libc6-dev libssl-dev libmysql++-dev libsqlite3-dev make build-essential libssl-dev libreadline6-dev zlib1g-dev libyaml-dev 

Sembra a me che alcuni di questi non sono essenziali se non si vuole andare a utilizzare MySQL o SQLite, ma per il resto questo elenco di pacchetti otterrà ciò che hai bisogno di compilare Ruby.

Dopodiché, non consiglierei di installare Ruby manualmente dall'origine; Vorrei usare RVM (Ruby Version Manager) in modo da poter installare qualsiasi versione di Ruby che desideri, ora e dopo. RVM compila le diverse versioni di Ruby scaricando e compilando il codice sorgente e installerà anche Rubygems per te.

Una volta installato rvm, è possibile utilizzare rvm requirements per ottenere l'elenco corrente dei pacchetti richiesti.

+1

+1: per RVM e avviso sulla compilazione dall'origine. – EmFi

+0

Probabilmente vorrai anche 'libyaml-dev', o Ruby verrà compilato senza il supporto di YAML. –

+0

Purtroppo il post del blog è sparito ... –

8

È possibile utilizzare apt-get install tutte le dipendenze di compilazione per qualsiasi pacchetto. Abilita il tuo repository di origine e quindi esegui.

sudo apt-get build-dep ruby1.9 rails 

Questo installerà tutti i pacchetti necessari per compilare il sorgente per questi due pacchetti. Quindi puoi andare a prendere l'ultima fonte e seguire le istruzioni.

N.B .: I nomi dei pacchetti potrebbero essere errati, dipende dalla versione di Ubuntu che si sta utilizzando.

+2

Installare Ruby dal pacchetto è ok, ma non raccomanderei l'installazione di Rails dal pacchetto. Per un sistema rubino, consiglio di installare Rubygems manualmente (istruzioni su rubygems.org - http://rubygems.org/pages/download) e quindi 'gem install rails'. – wuputah

+0

Sfortunatamente, ho visto pacchetti che non includono irb e rdebug, che considero essenziali per lavorare con Ruby. Di conseguenza, installo solo usando source ora e, poiché RVM è arrivato, lo uso come prima scelta. I pacchetti sono diventati la mia ultima risorsa. –

+4

Ho suggerito i pacchetti solo come collegamento per installare tutte le dipendenze di compilazione. – EmFi

Problemi correlati