qualcuno ha provato a installare Ruby e Rubygems dal sorgente su Ubuntu (preferibilmente Ubuntu 9)?

StackOverflow https://stackoverflow.com/questions/1250329

Domanda

Il sito Web Ruby on Rails consiglia di installare Ruby dal sorgente sotto Linux.Ho riscontrato numerosi problemi con la libreria C durante la creazione di Ruby dal sorgente su un'installazione pulita di Ubuntu 9.

Tutte le istruzioni che ho trovato in rete sull'installazione di Ruby su Ubuntu prevedono l'utilizzo di Ruby preconfezionato (basato su .deb).Chiaramente questo non è ciò che consigliano i rail.

Quando ho eseguito una build sorgente pulita di Ruby ho riscontrato che Rubygems non è stato installato perché l'estensione zlib non funzionava.

Si verificano due problemi:

1) L'estensione zlib non è stata creata.

Soluzione:

i) assicurati che zlib sia decommentato nel file Setup all'interno della directory extn del sorgente ruby, e

ii) assicurati che questi pacchetti zlib ubuntu siano installati:

aptitude install zlib1g
aptitude install zlib1g-dbg
aptitude install zlib1g-dev
aptitude install zlibc

2) Dopo aver risolto il problema 1 sopra (e aver eseguito una ricostruzione pulita di Ruby), zlib continua a non funzionare perché l'estensione non viene caricata.

Puoi vedere che il modulo non riesce a caricarsi eseguendo questo e ottenendo l'output "false":

puts require 'zlib'

Ho osservato che ciò accade a un numero qualsiasi di altre estensioni C nella directory extn, quindi sembra essere un problema più generale con queste estensioni che semplicemente qualcosa di specifico di zlib.

Riassumere:

  • La mia build di Ruby trova l'estensione C zlib specifica di Ruby ma non riesce a caricare il modulo zlib.
  • Questo comportamento sembra verificarsi anche con altre estensioni in /extn.

C'è un modo per scoprire perché un modulo non riesce a caricarsi?una sorta di modalità traccia/verbosa?

È stato utile?

Soluzione

Non vedo che cosa il vostro problema. Lei dice che require 'zlib' ritorna false. Ma questo significa che ha di lavoro! Se ci fosse un errore, si otterrebbe un'eccezione LoadError.

Altri suggerimenti

Ecco cosa ho fatto per installare Ruby, Gems e Rails su Ubuntu 11.04

  • Installa Ruby dai sorgenti

  • Installa RubyGems dai sorgenti

  • Installa zlib:
    • sudo apt-get install zlib1g-dev
    • cd your-ruby-sources/ext/zlib
    • ruby extconf.rb
    • Fare
    • sudo make install
  • Installa readline:
    • sudo apt-get install libreadline5-dev
    • cd your-ruby-sources/ext/readline
    • ruby extconf.rb
    • Fare
    • sudo make install
  • Installa openssl:
    • sudo apt-get install libssl-dev
    • cd your-ruby-sources/ext/openssl
    • ruby extconf.rb
    • Fare
    • sudo make install

Avete installato libzlib-ruby? Ecco la mia tipica di inizializzazione prima di installare Ubuntu Rubygems:

$ apt-get update
$ apt-get dist-upgrade
$ apt-get install build-essential -y
$ apt-get install rsync -y
$ apt-get install ruby ri rdoc irb ri1.8 ruby1.8-dev libzlib-ruby zlib1g libopenssl-ruby -y
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top