sql >> Databasteknik >  >> RDS >> Mysql

Att installera Rails, MySQL, etc. går allt fel

Snow Leopard levererar Ruby 1.8.7. Ruby 1.8.7 lägger inte automatiskt till require 'rubygems' kommando till ett Ruby-skript, som 1.9.2 kommer, så i allmänhet måste du lägga till det i ditt skript. Det löser problemen med att Ruby inte hittar ädelstenarna som din kod kallar i många fall. Rails är ett annat djur, men versionen med 1.8.7 är väldokumenterad så du borde ha hittat en lösning ganska snabbt.

Rubyn från Snow Leopard är verkligen för eget bruk. Användare kan piggyback på det, men det installeras av Apple eftersom de har applikationer som använder det. Använd locate podcast | grep rb$ att se. På liknande sätt används Perl och Python i Snow Leopard för att stödja kod som Apple har installerat så att bråka med dem är inte en bra idé. Att ändra den inbyggda Ruby, Perl eller Python kommer vanligtvis inte att få systemet att explodera i lågor, men det kan orsaka irriterande och oförklarliga problem längre ner på vägen när systemunderhållsrutiner slutar fungera.

Genom att använda sudo för att ta bort ädelstenar som installerats av Apple och lägga till nya, har du lämnat ditt system Ruby i ett oväntat tillstånd vad gäller Apples appar. Istället för att bråka med Apples Ruby bör du installera en separat Ruby för eget bruk med Fink eller MacPorts, eller från källkod, eller genom att använda RVM .

Personligen använder jag RVM eftersom det skapar en ~/.rvm sandlåda i din hemkatalog och gör det enkelt att hantera flera versioner av Ruby och ädelstenar. RVM kräver att du installerar XCode-utvecklingsbiblioteket, som du kan ladda ner från http://developer.apple.com /technologies/ efter en gratis registrering. XCode finns också på din system-DVD, men den versionen rapporteras vara buggig, så använd den nedladdade versionen.



  1. Windows7 WAMP 64-bitars stack MySQL-problem

  2. Hur länkar jag C++ MySQL Connector Libraries till Cmake?

  3. SYS_GUID() Funktion i Oracle

  4. MySQL INSERT utan att behöva ange alla icke-standardfält (#1067 - Ogiltigt standardvärde för 'tabell')