2012-06-16 3 views
0

Je suis un ancien pirate Perl mais j'ai pratiquement abandonné mon Mac parce que je ne peux généralement pas installer quoi que ce soit avec cpan.Comment puis-je restaurer mon environnement et mes modules Perl dans un état connu sous Mac OS X?

Quelque chose dans la liste des dépendances échoue généralement avec des erreurs sans signification (pour moi). Mon Mac est nouveau, mais il a été copié depuis longtemps lors des mises à niveau des anciens Macs depuis plus de 10 ans. Au cours des années, j'ai essayé d'utiliser fink, MacPorts et homebrew et je suspecte à ce moment j'ai beaucoup d'incompatibilités. Avant de poster mon dernier problème, j'aimerais vraiment commencer par nettoyer avec Perl, comme si j'avais une installation propre d'OSX-lion. Est-il possible de le faire sans effacer mon disque et installer OSX à partir de zéro?

+1

appartient à: apple.stackexchange.com. n est sur le "OS X admin" et non sur la programmation. – jm666

Répondre

4

Aucun des projets mentionnés ne s'installe dans les répertoires système. Ainsi, les supprimer de votre environnement utilisateur actuel devrait être aussi trivial que de les retirer de votre chemin, et supprimer les références à partir de vos fichiers de démarrage (par exemple, .bashrc, ou si vous les avez ajoutés à vos "éléments de connexion" etc). Après cela, vous seriez laissé avec ce que le système d'exploitation vous donne. LAISSEZ QUI SEUL. Installez perlbrew (de sorte que vous pouvez installer plusieurs perl s et passer entre eux sans déranger le reste du système) et cpanm (parce que c'est plus funner ;-) et le prendre à partir de là. Assurez-vous de lire la documentation pour tout ce que vous utilisez afin de comprendre ce qu'ils font et comment ils le font.

PS: Si vous avez vigueur l'une des fink, ports ou homebrew piétiner sur les répertoires du système pour une raison quelconque, vous avez tort. Si j'étais vous, je choisirais d'installer à partir de zéro dans un tel cas (mais assurez-vous de sauvegarder vos documents d'abord). Personnellement, je pense que même /usr/local comme promoteurs homebrew défendre n'est pas une bonne idée, mais si vous avez fait cela, au moins ils vous donnent un uninstall script.

+0

"Assurez-vous de lire la documentation pour tout ce que vous utilisez afin de comprendre ce qu'ils font et comment ils le font." Autant que je sache, cela prendrait plusieurs vies et comme la plupart des choses ne sont pas complètement documentées, je ne les comprendrais toujours pas complètement. Cette suggestion est si vague qu'elle est inutile. – zencuke

+0

Je sais comment enlever des choses de mon chemin mais cela ne règle rien. Il le cache simplement. Dès que j'essaie d'utiliser à nouveau l'un des outils du paquet, le problème sera toujours là. La question est de savoir comment les effacer tous pour pouvoir recommencer proprement avec un ou plusieurs d'entre eux. – zencuke

+3

Mec, Sinan essaie de t'aider. Votre "Cette suggestion est si vague qu'elle est inutile." est ... aucun commentaire. – jm666

3

OS X et Perl = mal un peu, quand vous voulez plusieurs modules.

Problèmes:

  • MacPorts - par défaut 5.12 en option 5,14. Malheureusement beaucoup macports a mal dépendances, demander exactement 5,12 et quand vous avez 5,14 courir des problèmes Votre perl par défaut seront 5,14 et certains paquets vont installer et utiliser 5,12 :(

  • perlbrew -. Très bon et facile mais si vous voulez installer des paquets avec macport et ce qui dépend de perl de macport, il sera installé, donc vous obtiendrez un perl de macport (ce qui fonctionnera avec perlbrew perl et package installé). votre perlbrew par exemple 5.14 ne fonctionnera pas correctement avec macports (par défaut 5.12), par exemple, p5-GD, ImageMagick et bien d'autres ...

  • homebrew - IMO, horrible. Arrêté de lire le document quand atteindre une section recommandant rm -rf/usr/local. (bien sûr, avec toutes les données, par exemple mysql). Peut-être que maintenant c'est mieux.

  • fink, mêmes problèmes que macports.

Ma solution:

simple à l'aide version macports pour le développement réel et perlbrew uniquement pour les tests (mais pas avec les binaires dépendants, comme GD et ainsi de suite). Si vous voulez "perlbrew" sourcing ses fichiers shell-start, sinon, et en utilisant macports. Une autre source de douleur consiste à essayer d'abord d'installer la version macports des modules perl (à cause de la cohérence et de la dépendance) et seulement si la version de macports n'existe pas, ou de la version cpan la plus récente en l'installant avec cpanm. Version CPAN Extutils :: Makemaker n'aime pas la version macports - et la recompile tout le temps lors de l'installation de modules avec cpanm.

Douleur réelle. Macports a cruellement besoin d 'un nouveau mainteneur, qui nettoiera les fausses dépendances et fera la version macports de cpanm ce qui installera la version cpan des modules correctement comme paquets macport. Quelque chose que FreeBSD a fait il y a des années - les modules de cpan viennent dans des paquets de BSDPAN ce qui sont gérables avec les commandes de pkg_ *.

Donc le résultat: Je ne connais actuellement aucune utilisation facile d'OS X Perl. immédiatement quand vous voulez utiliser des logiciels dépendants de Perl vous devrez les compiler eux-mêmes (et parfois ils ne compileront pas - donc vous avez besoin de la version corrigée pour OSX, donc utilisez macports ou homebrew et ... pain ..; (

Comme Sinan déjà dit - l'une de ces installations ne perturbe pas votre perl système, mais vous avez probablement commencé à utiliser CPAN d'abord avec perl système et installé des modules dans/Library ..

OMI, vous pouvez vivre avec elle. Il suffit d'installer macports et commencer à l'utiliser.Mais si vous voulez un peu perl-repair-installation - probablement le meilleur endroit pour demander est à: https://apple.stackexchange.com/

+0

Cette question ne concerne pas la mise à niveau de perl, mais la question était de savoir comment se débarrasser de ce que j'avais déjà installé.S'il vous plait, la version originale des ports fink et mac que j'ai est probablement plus de dix ans. La méthodologie de certains de ces outils a changé au fil du temps, j'essaie de trouver un moyen d'éliminer tout le fouillis et de recommencer, puis ce conseil pourrait être utile. – zencuke

+0

Comme je l'ai dit ci-dessus - pour les questions sur la restauration partielle de la Perl à la "après-installation-état" - est probablement le meilleur endroit http://apple.stackexchange.com/. ** Ce n'est pas une question de programmation, mais OS X admin question. ** Il est probablement différent dans le Lion et SnowLeopard, parce que la différence dans leur méthode d'installation. Il semble que vous n'ayez pas d'autre sauvegarde de TimeMachine d'installation, donc le meilleur moyen sera d'utiliser Pacifist pour réinstaller uniquement les médias d'installation de formulaire Perl. (donc seulement "/ System/Library/Perl" et/usr/bin/perl *) – jm666