Ruby et Windows, problèmes récurrents

7420
,

J'ai decidé de créer ce topic, car je me suis rendu compte que même si le titre du topic est différent, il y a souvent des problèmes récurrents avec Ruby.

Ruby et Windows ne s'aiment pas trop, je vous recommande fortement de passer par une vm.

Problème #1 : Mauvais encodage

Vous avez cette erreur qui survient quand vous essayez d'installer une gem ?

ERROR:  While executing gem ... (Encoding::UndefinedConversionError)
    U+2019 to CP850 in conversion from UTF-16LE to UTF-8 to CP850

Vous avez deux solutions à ce problème :

Pour une utilisation ponctuelle.
Vous pouvez avant de rentrer la commande qui pose problème, rentrer cette commande :

chcp 1252

Si vous souhaitez résoudre le problème une bonne fois pour toute :

Vous devez trouver le fichier "registry.rb" dans votre dossier d'installation Ruby et aller à la ligne #70 :

#LOCALE = Encoding.find(Encoding.locale_charmap)
LOCALE = Encoding::UTF_8

Problème #2 : Jamais sans mon SSL

Vous avez cette erreur qui survient quand vous essayez d'installer une gem ?

ERROR:  Could not find a valid gem 'xxxx' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/latest_specs.4.8.gz)

Vous avez plusieurs solutions pour ce problème :

Pour une utilisation ponctuelle :

gem install xxxx --source=http://rubygems.org

Vous pouvez également forcer gem à passer par http : (Pour les fainéants)

sudo gem sources -r https://rubygems.org # Retire la source https
sudo gem sources -a http://rubygems.org  # Ajoute la source http

Si vous souhaitez résoudre le problème une bonne fois pour toute :

Windows : Vous pouvez télécharger ce fichier cacert.pem
et l'ajouter en variable d'environnement.

Panneau de configuration > Système > Paramètres système avancés > Variables d'environnement (fieldset) > Variables utilisateur > Nouvelle...

Vous lui donnez le nom :

SSL_CERT_FILE

Et pour valeur, le chemin vers le fichier :

X:\xxx\cacert.pem

Tip : Si vous avez utilisé la solution de mettre les sources en http et que vous souhaitez utiliser la solution du certificat pour repasser en https, si vous avez mal configuré la variable d'environnement, il ne pourra pas ajouter la source https :D. Un bon moyen de vérifier que tout soit bon.

Si vous avez bien fait votre manipulation, vous pouvez repasser en https :

sudo gem sources -r http://rubygems.org # Retire la source http
sudo gem sources -a https://rubygems.org  # Ajoute la source https

Si vous avez des problèmes et des solutions à proposer, n'hésitez pas. Je suis loin d'être un expert Ruby.

11 Réponse

1
,

Sujet mis en post-it pour les prochains ^^

47785
,

Génial!J'ai enfin pu installer compass sur mon PC portable!!!Merci :)

Default
,

Merci pour le topic!! Je viens de regler des problèmes grâce à cela.

32429
,

Bonjour,

Pour ceux qui ont un problème SSL, voici une autre solution :
https://gist.github.com/luislavena/f064211759ee0f806c88around

Default
,

Merci pour ce topic, ca faisait un moment que je me prenais le choux avec Ruby sur Windows..

17767
,

Il me semble que c'est ça https://gist.github.com/luislavena/f064211759ee0f806c88#file-howto-manually-add-trust-cert-to-rubygems-md

44835
,

Si le lien fonctionne, il suffit de virer around à la fin
@Wurolab please edit ton lien

32429
,

@Huggy, @Bahamut45 : Effectivement il suffit du supprimer around, autant pour moi.

46980
,

Merci, juste merci!
Je galère depuis je ne sais pas combien de temps pour installer sass ^^ et j'avais toujours ce problème d'encodage. Maintenant, ça va mieu ^^

14889
,

Merci beaucoup.

1
,

Je le rajoute à la liste