Bonjour à tous.
M'ayant décidé à utiliser Compass, j'ai installé Ruby via l'installeur du site RailsInstaller, pour information, je suis sur Windows, j'ai donc pris la version correspondante.
Mon problème, c'est que lorsque j'ai voulu installer la gem pour Compass avec la commande :

gem install compass

J'ai l'erreur suivante qui m'est retournée :

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

Je me doute qu'il rebute sur l'encodage, mais je ne sais pas comment le régler.
Voici les gem installées via l'installeur (je m'excuse d'avance si la liste est plutôt longue).

*** LOCAL GEMS ***
actionmailer (4.1.8); actionpack (4.1.8); actionview (4.1.8); activemodel (4.1.8); activerecord (4.1.8)
activerecord-sqlserver-adapter (4.1.0); activesupport (4.1.8); arel (5.0.1.20140414130214); bigdecimal (1.2.4)
builder (3.2.2); bundler (1.7.7); coffee-rails (4.1.0); coffee-script (2.3.0); coffee-script-source (1.8.0)
erubis (2.7.0); execjs (2.2.2); hike (1.2.3); i18n (0.7.0.beta1); io-console (0.4.2); jquery-rails (3.1.2); json (1.8.1)
mail (2.6.3); mime-types (2.4.3); minitest (5.4.3, 4.7.5); multi_json (1.10.1); 

pg (0.17.1 x86-mingw32); psych (2.0.5); rack (1.5.2); rack-test (0.6.2); rails (4.1.8); railties (4.1.8); rake (10.1.0)
rb-readline (0.5.1); rdoc (4.1.0); rubyzip (1.1.6); sass (3.2.19); sass-rails (4.0.5); sprockets (3.0.0.beta.4, 2.12.3)
sprockets-rails (2.2.1); sqlite3 (1.3.10 x86-mingw32); sqlite3-ruby (1.3.3); test-unit (2.1.5.0); thor (0.19.1); thread_safe (0.3.4)

tilt (1.4.1); tzinfo (1.2.2)

La version de ruby est : ruby 2.1.5p273
Au lieu de laisser chaque gem par ligne, j'en ai séparé plusieurs par des points-virgules en les mettant sur la même ligne car je trouvais que ça prennait trop de place en hauteur.

Je vous remercie d'avance pour l'aide que vous pourrez m'apporter.

6 réponses


Seazer
Réponse acceptée

Pour régler le même soucis, j'ai dû entrer cette commande avant de rentrer celle pour installer une gem générant la même erreur :

chcp 1252
Seazer
Réponse acceptée

Je me suis renseigné un petit peu car j'en avait marre de ce problème et la solution qui fonctionne pour moi et de trouver le fichier "registry.rb" dans le dossier où l'on a installé Ruby ou Rails installer et de modifier la ligne 70 :

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

Merci Seazer, j'ai donc utilisé la commande que tu m'as proposé et par la suite j'ai eu une autre erreur :

ERROR:  Could not find a valid gem 'compass' (>= 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)

Ceci étant une erreur quasiment identique à celle d'un autre sujet, je m'y suis référé et j'ai utilisé une proposition de Jonathan en l'adaptant à mon cas :

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

Ce qui a eu pour effet d'installer plusieurs éléments, bien qu'il y ait un warning qui ce soit affiché vers la fin, Compass semble bien être installé car lorsque je tappe la commande :

compass -h

Je n'ai aucune erreur retournée et j'ai bien la liste des commandes disponibles qui s'affiche.
Je tien donc à te remercier Seazer, ainsi qu'à Jonathan (même s'il n'a pas intervenu sur mon sujet, il m'a permit de finaliser mon problème d'installation).
Merci à vous et bon week-end. ;)

Je me permet de rajouter un lien vers un autre topic où je propose pas forcement la meilleur technique mais une solution qui évite en tout cas de devoir mettre "--source=http://rubygems.org" à chaque commande. Passer par http sur rubygems

Lartak
Auteur

Pour la première commande, je n'ai aucun problème, mais lorsque j'ai fais la seconde, celle qui permet d'ajouter la source, j'ai le message suivant qui est normal auquel je répond y:

Do you want to add this insecure source? [yn]

Mais une fois que j'ai répondu y, il me retourne l'erreur que j'ai eu au début et que j'ai mis dans mon sujet, c'est à dire :

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

En effet, ça règle le problème, j'ai bien eu la source ajoutée.

  1. Vérifié via le message de retour
  2. Vérifié via la commande gem sources -l
    Pour information, pour ceux que ça pourrait intéresser, pour ma part, j'ai touvé le fichier registry.rb dans : C:\RailsInstaller\Ruby2.1.0\lib\ruby\2.1.0\win32\.

Encore merci Seazer. :)