Installer Snow Leopard quand on est développeur
Mettre à jour son Mac avec Snow Leopard est simple et dans l’ensemble tout fonctionne pour l’utilisateur lambda. Mais quand on utilise son Mac pour faire du développement, on a tout pleins de trucs installés, de librairies compilées, etc. qu’il va falloir mettre à jour à la main pour tenir compte du fait que maintenant, Snow Leopard permet de fonctionner en 64 bits.
Personnellement, je développe en ruby et en PHP, j’utilise MySQL, et j’ai tout un tas de librairies installées via MacPorts.
Voici ce que j’ai fait pour tout migrer proprement si cela vous intéresse et que vous hésitez encore à faire votre mise à jour vers Snow Leopard.
h2. Installation de Snow Leopard
Ca c’est la partie la plus simple: on met le CD, on lance l’installation, on va se promener une petite heure, on revient, et Snow Leopard est la à vous attendre patiemment sur votre Mac ;-)
Il faut alors installer la version de XCode pour Snow Leopard, disponible sur le DVD d’installation, dans le sous-répertoire “Installations facultatives”
A noter que si vous utilisez des plugins spécifiques pour Safari et que leur version 64-bits n’existe pas encore, ils ne seront plus chargés (c’est par exemple le cas avec Glims). En attendant la mise à jour de tout vos plugins, vous pouvez configurer Safari pour qu’il s’execute en 32-bits, ce qui permettra à vos plugins de se charger. Pour cela, allez dans votre répertoire Applications, faites un click droit sur Safari puis selectionnez “Lire les informations” : il vous suffit alors de cocher la case “Ouvrir en mode 32 bits” et de relancer Safari, pour que vos plugins se chargent à nouveau.
h2. Mise à jour de MySQL
Le plus simple est de télécharger l’image 64 bits (x86_64) disponible chez MySQL. Il suffit alors d’installer dans l’ordre le package MySQL, puis le panneau de préférence et le package MySQLStartupItem. Pensez au préalable à arrêter votre serveur MySQL actuel.
h2. Mise à jour de Macport
Une fois encore, le plus simple pour éviter tout problème de dépendances est de télécharger l’image de la dernière version de MacPort pour Snow Leopard, et d’installer le package.
Ensuite, à partir d’une fenêtre de terminal, on va mettre à jour toutes les librairies déjà installé à l’aide des instructions suivantes:
sudo port selfupdate
sudo port sync
sudo port upgrade --force installed
Selon le nombre de package que vous avez installé, vous avez le temps d’aller prendre un café ou carrément d’aller voir un film ;-)
h2. Ruby et Ruby on Rails
Si vous êtes développeur ruby alors je vous recommande plusieurs choses.
Si vous utilisez la version REE de ruby, il semble qu’il y ait quelques soucis pour compiler cette version sous Snow Leopard, donc le plus simple en attendant est de basculer sur la version de ruby fournie par Snow Leopard
Ensuite pensez à recompiler/réinstaller Passenger:
sudo gem install -r passenger
sudo passenger-install-apache2-module
Si vous utiliser le panneau de préférence Passenger, installez la version 1.3, qui est compatible avec Snow Leopard.
Si vous utilisez le gem mysql, il faut le recompiler avec le support 64 bits:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Enfin, vérifiez si vous devez recompiler d’autres gems à l’aide du script disponible ici
h2. PHP
La version de PHP incluse dans Snow Leopard contient beaucoup plus de modules qu’avant, maintenant s’il vous manque des modules, vous pouvez vous inspirer de ce guide (en anglais) pour installer des modules supplémentaires à la version de PHP fournie par Apple. Je n’ai pas testé car je n’avais pas de besoins spécifiques pour faire tourner mon code PHP.
h2. Conclusion
Voila, en suivant ces étapes je dispose d’un environnement de dev qui semble opérationnel sous Snow Leopard. Je dois encore tester plus en détail, mais je ne rencontre pas de problèmes majeurs, simplement des ajustements de conf à faire (par exemple dans mon php.ini).
Enfin, si vous utilisez cet article comme tutorial de base pour votre propre mise à jour, sachez que je ne suis pas plus compétent que vous donc en cas de problème majeur, Google sera un bien meilleur ami que moi pour vous aider ;-)