J'utilise la gemme 'fluent-logger' pour la connexion à notre projet, qui nécessite 'msgpack'. Si je cours bundle install
il tire msgpack-1.1.0-x86-mingw32
, qui jette une exception lorsqu'il l'exige sur Windows.Get bundler pour installer gem pour une plate-forme spécifique
kernel_require.rb:55:in `require': cannot load such file -- msgpack/msgpack (LoadError)
Mais il existe une solution pour le problème, simplement réinstaller le bijou avec --platform=ruby
comme ceci:
gem uninstall msgpack
gem install msgpack --platform=ruby
J'ai essayé de mettre cette exigence dans le Gemfile comme indiqué ailleurs (ne peut pas trouver le lien atm), mais il ne fait rien (installé msgpack-1.1.0-x86-mingw32
comme avant):
gem 'msgpack', :platforms=>:ruby
J'utilise Ruby 1.9.3p551 (et Bundler v 1.1 4.6) sur Windows 7, au cas où cela serait important.
Modifier
Pour permettre à tous ceux qui veulent, ESSAYER eux-mêmes que je donne une source d'exemple.
Gemfile:
source 'http://rubygems.org'
ruby '1.9.3'
gem 'fluent-logger'
gem 'msgpack', :platforms=>:ruby_19
#for windows local dev msgpack needs to be installed with --platform=ruby
foo.rb
require 'fluent-logger'
logger= Fluent::Logger::FluentLogger.new
#logger.post('idx',{message:'it works'})
puts 'worked'
L'enregistreur ne crée pas une connexion valide, mais si elle passe par c'est grand
(La seule chose importante ici est que le Gemfile ne tire pas dans la bonne version de msgpack (dans mon cas 1.1.0-x86-mingw32
au lieu de 1.1.0
))
Merci pour la page de manuel (i manqué e à un), mais malheureusement, il tire dans la même gemme que précédemment 'paquet λ spectacle msgpack D:/Ruby193/lib/ruby / gems/1.9.1/gems/msgpack-1.1.0-x86-mingw32' et cela conduit à la même erreur qu'avant 'D: /Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb: 36: 'require': impossible de charger un tel fichier - msgpack/msgpack (LoadError) ' – dCSeven