Ruby Newbie ici essayant de déterminer comment utiliser un joyau et jusqu'à présent, l'expérience n'est pas si grande.
Après avoir installé MySQL2 via GEM, j'ai essayé de l'utiliser dans un fichier simple. P>
RubyGems Environment: - RUBYGEMS VERSION: 1.3.5 - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8 - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby - EXECUTABLE DIRECTORY: /usr/bin - RUBYGEMS PLATFORMS: - ruby - universal-darwin-10 - GEM PATHS: - /Library/Ruby/Gems/1.8 - /Users/tanner/.gem/ruby/1.8 - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://gems.rubyforge.org/
3 Réponses :
Essayez:
require 'rubygems' require 'mysql2'
Quel est votre gem env code> ressemble?
@Tanner: Avez-vous résolu le problème?
Pour obtenir plus d'informations, démarrer IRB et exécuter:
lib/mysql2/error.rb lib/mysql2/mysql2.bundle lib/mysql2/client.rb lib/mysql2/result.rb lib/mysql2.rb
Exécution "Exiger 'Rubygems" "apporte la même erreur:" LoadError: Aucun fichier de ce type à charger - Rubygems "de" Contenu GEM MySQL2 "Je peux tout trouver sauf lib / mysql2 / mysql2.bundle
Basé sur cela, il semble y avoir 2 problèmes. Laissez-en un à la fois. Les rubygems ne peuvent pas être chargés, car vous ne pouvez même pas l'exiger. Êtes-vous capable d'exiger des autres gemmes? Avez-vous plus d'une version de Ruby? En IRB, quelle est la valeur de config :: config ["Bindir ']? En IRB, utilisez ceci pour rechercher des rubygems.rb: $ :. Chaque {| Dir | fichiers = dir [fichier.join (dir, ' gem i> .rb')]; met les fichiers si des fichiers.ca? }; néant
Aussi, au terminal, exécuté: Head -1 `quel gem` (dans les backquotes). Vous devriez voir l'exécutable de Ruby que la commande GEM utilise. STI est-ce que son annuaire correspond à la valeur de config :: config [config [«Bindir»] vous avez reçu de IRB?
Je ne peux pas avoir besoin d'autres gemmes et à ma connaissance n'a pas de multiples versions de Ruby. Je ne peux pas exécuter config :: config ["Bindir '] en IRB car il jette l'erreur que la configuration est une constante non initialisée. Désormais, je ne peux pas rechercher de rubygems.rb. Exécution de la tête -1 quel gem code> entraîne: #! / Système / Bibliothèque / Cadres / Ruby.framework / Versions / 1.8 / USR / BIN / RUBY
J'ai remarqué que "Ruby -V" Donne cette sortie "Ruby 1.8.7 (Patchlevel 2010-08-16 302) [I686-Darwin10]" Alors que dans "GEM env" retourne "1.8,7 (2009-06-12 Patternvel 174 ) [Universal-Darwin10.0] ". Je suppose que je ne suis pas vraiment sûr combien de versions de Ruby que j'ai pu avoir. Je suppose que ces deux doivent être les mêmes?
Désolé pour la configuration - essayez à nouveau après avoir besoin de «rbconfig». De plus, on dirait que le rubis de votre chemin diffère de celui de l'un «gem» utilise. Run 'Quel rubis' au terminal. Je suppose que vous ou une application a installé une version séparée de Ruby de celui qui est venu préinstallé sur votre Mac. En outre, qu'est-ce que "/ usr / bin / bin / ruby -v" montre?
Comme vous l'avez probablement remarqué, vous avez plusieurs versions de Ruby installées. Je vous recommande vivement d'utiliser RVM pour gérer plusieurs versions de rubis.
C'est une suppose sauvage, mais si vous n'utilisez pas la ligne de commande pour exécuter votre application et que vous utilisez un outil tel que TextMate, vous avez peut-être besoin de définir une variable de coquille "TM_Ruby" pour pointer vers la version Ruby avec les rubygems installés ( 1.8.7 (2009-06-12 patchlevel 174)) et que d'essayer: p> Si cela fonctionne et que vous êtes heureux de vous mettre à jour des liens symboliques dans / usr / bin / ruby, / usr / bin / irb, / usr / bin / irb, / USR / BIN / GEM Pour pointer vers la version ancienne de Ruby ou une fois encore une fois, installez RVM et rendez votre vie beaucoup plus facile. p> p>
J'ai presque le même problème, avez-vous trouvé une solution?