Librairies ruby

Bonjour,
J’ai mis à jour mon Ruby en 1.8.4 via l’article

(ce qui m’a obligé à tout réinstaller… y a-t-il un autre moyen ?) et
depuis je ne peux plus faire appel aux librairies annexes intégrées
normalement à Ruby.

Par exemple, dans la console, un require “digest/sha2” ou require
“net/http” me retourne un joli “false”.

Comment les retrouver ?

Merci !

J’ai mis à jour mon Ruby en 1.8.4 via l’article
http://hivelogic.com/articles/2005/12/01/
ruby_rails_lighttpd_mysql_tiger
(ce qui m’a obligé à tout réinstaller… y a-t-il un autre moyen ?)

Oui il y avait un meilleur moyen ici : http://validcode.net/articles/
2006/03/31/the-best-way-to-install-rails-on-os-x
Mais hum… j’ai utilisé le script il y a 2 semaines et là le post a
disparu… bon c’est peut-être temporaire. Voir peut-être contacter
le gars.

et
depuis je ne peux plus faire appel aux librairies annexes intégrées
normalement à Ruby.

Pas de bol…
ruby -v => 1.8.4 ?
regarde ce qui se passe dans /usr/local/lib/Ruby/1.8/
Là devrait se trouver tes lib. Si elles n’y sont pas, va falloir
réinstaller… :frowning: sans le script mentionné ci-dessus :frowning:

Il y a peut-être une solution de sauvetage mais je ne vois pas
comment faire propre là…

Bonne chance,
NP

Nicolas P. wrote:

Oui il y avait un meilleur moyen ici : http://validcode.net/articles/
2006/03/31/the-best-way-to-install-rails-on-os-x
Mais hum… j’ai utilis� le script il y a 2 semaines et l� le post a
disparu… bon c’est peut-�tre temporaire. Voir peut-�tre contacter
le gars.

Je garde ça de côté :slight_smile:

Pas de bol…
ruby -v => 1.8.4 ?
vi vi j’avasi vérifé c’est pour ça que j’ai fini par posté ici car ça Ã
pas grand chose de rationnel mon histoire :confused:

regarde ce qui se passe dans /usr/local/lib/Ruby/1.8/
L� devrait se trouver tes lib. Si elles n’y sont pas, va falloir
r�installer… :frowning: sans le script mentionn� ci-dessus :frowning:

bein c’est nettement moins garnie que /urs/lib/Ruby…

Salut Ben,

J’ai mis à jour mon Ruby en 1.8.4 via l’article
Dan Benjamin
(ce qui m’a obligé à tout réinstaller… y a-t-il un autre moyen ?) et
depuis je ne peux plus faire appel aux librairies annexes intégrées
normalement à Ruby.

Par exemple, dans la console, un require “digest/sha2” ou require
“net/http” me retourne un joli “false”.

Comment les retrouver ?

D’après ma compréhension si require retourne false
si la bibliothèque est déjà chargée. Si elle ne la trouve pas,
une exception est levée :

$ irbs

require ‘shadok’
LoadError: no such file to load – shadok
from (irb):1:in `require’
from (irb):1

Pour Rails, on a :

require ‘shadok’
MissingSourceFile: no such file to load – shadok
[…]

Chez moi net/http est déjà chargé :
$ script/console
Loading development environment.

Net::HTTPRequest.subclasses
=> [“Net::HTTP::Unlock”, “Net::HTTP::Lock”, “Net::HTTP::Move”,
“Net::HTTP::Copy”, “Net::HTTP::Mkcol”, “Net::HTTP::Proppatch”,
“Net::HTTP::Propfind”, “Net::HTTP::Trace”, “Net::HTTP::Options”,
“Net::HTTP::Delete”, “Net::HTTP::Put”, “Net::HTTP::Post”,
“Net::HTTP::Head”, “Net::HTTP::Get”]

mais pas digest/sha2 (digest/md5 oui)
$ script/console
Loading development environment.

require ‘digest/sha2’
=> true
Digest::MD5.superclass
=> Digest::Base

il semblerait que Rails charge digest/sha1 si on utilise les bindings
MySql
pur ruby.

Donc en résumer, je comprends pas pourquoi tu peux pas utiliser
net/http et digest/sha2 si le require retourne false. Peut-être de
la magie Rails autour de require que je ne comprends pas…

-- Jean-François.

En passant de Ruby 1.8.4 à 1.8.5, j’ai eu un problème similaire : le
$LOAD_PATH n’était pas rempli comme avant, il n’intégrait plus
certains répertoires (ce qui m’empêchait d’utiliser les gems sans
aller les chercher à la main).

Le problème venait de l’exécution du ./configure avec bash ; en le
lançant avec ksh tout est rentré dans l’ordre.

Est-ce qu’il y a plusieurs shells disponibles sous MacOSX ?

Guillaume “Zifro” DESRAT wrote:

En passant de Ruby 1.8.4 à 1.8.5, j’ai eu un problème similaire : le
$LOAD_PATH n’était pas rempli comme avant, il n’intégrait plus
certains répertoires (ce qui m’empêchait d’utiliser les gems sans
aller les chercher à la main).
Oula je suis passé de 1.8.2 à 1.8.4 je vais pas retenter le 1.8.5 que
j’avais po vu sortir !
Mais effectivement ça doit venir du changement de $PATH.

Le problème venait de l’exécution du ./configure avec bash ; en le
lançant avec ksh tout est rentré dans l’ordre.

Est-ce qu’il y a plusieurs shells disponibles sous MacOSX ?

Oui sur Mac OSX on a par défaut 2 shell : bash et tcsh

Merci Jean-François pour ta réponse,

D’après ma compréhension si require retourne false
si la bibliothèque est déjà chargée. Si elle ne la trouve pas,
une exception est levée :

$ irbs

require ‘shadok’
LoadError: no such file to load – shadok
from (irb):1:in `require’
from (irb):1

Effectivement, en passant par irbs et pas la console de mon appli Rail,
je n’ai plus le false mais un true

$ script/console
Loading development environment.

Net::HTTPRequest.subclasses
=> [“Net::HTTP::Unlock”, “Net::HTTP::Lock”, “Net::HTTP::Move”,
“Net::HTTP::Copy”, “Net::HTTP::Mkcol”, “Net::HTTP::Proppatch”,
“Net::HTTP::Propfind”, “Net::HTTP::Trace”, “Net::HTTP::Options”,
“Net::HTTP::Delete”, “Net::HTTP::Put”, “Net::HTTP::Post”,
“Net::HTTP::Head”, “Net::HTTP::Get”]

J’obtient le même retour :slight_smile:

mais pas digest/sha2 (digest/md5 oui)
$ script/console
Loading development environment.

require ‘digest/sha2’
=> true

LÃ j’ai false mais

Digest::SHA256.subclasses
=> []
donc c’est chargé

Digest::MD5.superclass
=> Digest::Base
J’ai la même chose.

Bref c’est etrange, pour certains faut un require et pas pour d’autres
:confused:

Je n’ai pas lu le tutoriel, mais es-tu passé par les phases
./configure make (make test) make install ?

Si oui, essaie de le refaire sous tcsh.

(lorsque je cherchais ce qui n’allait pas, j’ai du compilé / installé
4 ou 5 fois des versions différentes de Ruby, en cherchant à droite Ã
gauche ce qui n’allait pas, et c’est sur #ruby-lang que j’ai obtenu
-insolemment vite- la réponse).

Bon courage !

2006/9/22, Ben B. [email protected]:

Guillaume “Zifro” DESRAT wrote:

Est-ce qu’il y a plusieurs shells disponibles sous MacOSX ?

Oui sur Mac OSX on a par défaut 2 shell : bash et tcsh

On peut utiliser aussi zsh et ksh.

РJean-Fran̤ois.

Guillaume “Zifro” DESRAT wrote:

Je n’ai pas lu le tutoriel, mais es-tu passé par les phases
./configure make (make test) make install ?

Si oui, essaie de le refaire sous tcsh.

(lorsque je cherchais ce qui n’allait pas, j’ai du compilé / installé
4 ou 5 fois des versions différentes de Ruby, en cherchant à droite Ã
gauche ce qui n’allait pas, et c’est sur #ruby-lang que j’ai obtenu
-insolemment vite- la réponse).

Bon courage !

vivi j’ai fait configure/make/make install et tout le reste. Le truc
c’est que le tuto propose d’ajouter ruby dans usr/local/ et pas usr/lib
là ou était mon 1.8.2. Ca explique la nécessité de tout réinstaller dans
usr/local pour que mes anciens gem fonctionnent.

Pour l’instant j’ai réussi à tout refaire fonctionner, en réinstallant
la plupart de mes ancienns librairies. Je retiens le coup de la compil’
via un autre shell.
Merci

@Jean-François : je savais pas pour le zsh et ksh :slight_smile:
C’est bien Mac OSX…

On 9/22/06, Guillaume Zifro DESRAT [email protected] wrote:

Si oui, essaie de le refaire sous tcsh.

configure s’exécute avec /bin/sh par défaut à moins de spécifier “ksh
./configure”.

On 9/22/06, Ben B. [email protected] wrote:

Oui sur Mac OSX on a par défaut 2 shell : bash et tcsh

3, zsh est inclus lui aussi et enfonce bash dans à peu près tous les
domaines d’ailleurs (pas trop gros le troll, ça ira, hmmmm ?)

configure s’exécute avec /bin/sh par défaut à moins de spécifier “ksh
./configure”.

Ca n’était pas le cas chez moi (pourquoi ? mystère ? surtout que le
shebang est bien là , au début du configure) c’est pour cela que je le
lui précisais.

2006/9/23, Ollivier R. [email protected]:

On 9/22/06, Ben B. [email protected] wrote:

Oui sur Mac OSX on a par défaut 2 shell : bash et tcsh

3, zsh est inclus lui aussi et enfonce bash dans à peu près tous les
domaines d’ailleurs (pas trop gros le troll, ça ira, hmmmm ?)

Non, c’en est pas un d’ailleurs.

de toute façon, les shells unix, c’est rien comparé à MS-DOS,
et pis les noms de volume de disques c’est top, les points
de montage ça craint, regedit ruuuuuuuulesssss !!!

РJean-Fran̤ois (AUTOEXEC.BAT FOREVER).

Jean-François wrote:

2006/9/23, Ollivier R. [email protected]:

On 9/22/06, Ben B. [email protected] wrote:

Oui sur Mac OSX on a par défaut 2 shell : bash et tcsh

3, zsh est inclus lui aussi et enfonce bash dans à peu près tous les
domaines d’ailleurs (pas trop gros le troll, ça ira, hmmmm ?)

Non, c’en est pas un d’ailleurs.

de toute façon, les shells unix, c’est rien comparé à MS-DOS,
et pis les noms de volume de disques c’est top, les points
de montage ça craint, regedit ruuuuuuuulesssss !!!

РJean-Fran̤ois (AUTOEXEC.BAT FOREVER).

Y a des emulateur MS-DOS sous osx d’ailleurs :smiley: