sql >> Database teknologi >  >> NoSQL >> MongoDB

windows:rails:fejl ved installation af bson_ext

Ifølge dette indlæg <arpa/inet.h> er ikke et Windows-bibliotek, så winsock2.h skal bruges i stedet.

For at ændre denne reference har jeg gjort følgende**:

  • Gå til din installationsmappe (c:/Ruby193/lib/ruby/gems/1.9.1/gems/bson_ext-1.11.1)
  • Drill et niveau ned i cbson-mappen og find cbson.c
  • Åbn cbson.c i dit foretrukne tekstredigeringsprogram, og find linjen, der lyder #include "<arpa/inet.h>"
  • Skift den linje til #include winsock2.h
  • Åbn en kommandoprompt, gå til installationsmappen, og kør gem build bson_ext.gemspec
  • Flyt den nyoprettede .gem-fil et sikkert sted (f.eks. %userprofile%\Desktop).
  • Gå op til gem-mappen og slet hele mappen bson_ext
  • Tilbage i dit kommandopromptvindue, skift mappe til det sted, hvor du placerede den nyoprettede .gem-fil (cd %userprofile%\Desktop, hvis du følger disse trin nøjagtigt)
  • Kør gem install bson_ext-1.11.1.gem --local og ædelstenen skulle nu installeres med succes.

** Kæmpe advarsel:Jeg kører lige gennem en mongodb for rails-tutorial, og jeg har ikke nogen fungerende kode til at teste dette med. Selvom dette fjerner installationsfejlen, har jeg ingen måde at afgøre, om denne rettelse er en komplet. Denne biblioteksreference er ny for 1.11.1-udgivelsen. Hvis du installerer version 1.10.2 vil dette problem ikke opstå (gem install bson_ext -v 1.10.2 ). Jeg overlader det til dig at beslutte, hvilken løsning der giver mest mening for dig.

Rediger:Baseret på en ændring af bson-ruby-projektet på github, ville en bedre løsning være at ændre den inkluderet til at læse sådan her:

#ifdef _WIN32
#include <winsock2.h>
#else
#include <arpa/inet.h>
#endif


  1. vent på, at alle løfter er færdige i nodejs med bluebird

  2. Hybrid Cloud vs Full Public Cloud - Fordele og ulemper

  3. Hvordan MongoDB muliggør maskinlæring

  4. Redis connect ECONNREFUSED i NodeJS i Kubernetes-klyngen