sql >> Database teknologi >  >> RDS >> Mysql

Installation af Rails, MySQL osv. går alt galt

Snow Leopard leverer Ruby 1.8.7. Ruby 1.8.7 tilføjer ikke automatisk require 'rubygems' kommando til et Ruby script, ligesom 1.9.2 vil, så generelt skal du tilføje det til dit script. Det løser problemerne med, at Ruby ikke finder de ædelstene, som din kode kalder, i mange tilfælde. Rails er et andet dyr, men versionen med 1.8.7 er veldokumenteret, så du burde have fundet en løsning ret hurtigt.

Rubyen leveret af Snow Leopard er virkelig til sit eget brug. Brugere kan piggyback på det, men det er installeret af Apple, fordi de har programmer, der bruger det. Brug locate podcast | grep rb$ at se. På samme måde bruges Perl og Python i Snow Leopard til at understøtte kode, som Apple har installeret, så det er ikke en god idé at rode med dem. Ændring af den indbyggede Ruby, Perl eller Python vil normalt ikke få systemet til at eksplodere i flammer, men det kan forårsage irriterende og uforklarlige problemer længere hen ad vejen, når systemvedligeholdelsesrutiner holder op med at virke.

Ved at bruge sudo til at fjerne ædelstene installeret af Apple og tilføje nye, har du efterladt dit system Ruby i en uventet tilstand, hvad angår Apples apps. I stedet for at rode med Apples Ruby, bør du installere en separat Ruby til eget brug ved hjælp af Fink eller MacPorts, eller fra kildekoden, eller ved at bruge RVM .

Personligt bruger jeg RVM fordi den opretter en ~/.rvm sandkasse i din hjemmemappe, og gør det nemt at administrere flere versioner af Ruby og ædelstene. RVM kræver, at du installerer XCode-udviklingsbiblioteket, som du kan downloade fra http://developer.apple.com /teknologier/ efter en gratis registrering. XCode er også på din system-dvd, men den version er rapporteret at være buggy, så brug den downloadede version.



  1. MySQL Indsæt fra en database i en anden

  2. 5 måder at opdatere data med en underforespørgsel i Oracle SQL

  3. pyodbc.connect() virker, men ikke sqlalchemy.create_engine().connect()

  4. PersistenceException:FEJL ved udførelse af DML bindLog[] fejl[Felt 'id' har ikke en standardværdi]