2017-03-20 2 views
2

J'ai récemment mis à jour ma version de l'ActivePerl 64 bits côté client de la version 5.10.1.1007 vers la version 5.22.2.2203, et j'ai beaucoup de problèmes avec cela. Je préfère vraiment sauter à Strawberry, mais je vais devoir le tester d'abord sur chacune des applications Perl critiques que je cours tous les jours. Puis-je installer la version portable de Strawberry et la tester tout en continuant à utiliser la version ActivePerl pour les travaux de production?Utilisation simultanée d'ActivePerl et de Strawberry

(Autres questions de semblables à la mienne ont reçu des réponses au sujet de côté serveur Perl uniquement).

+0

La version ActiveState est de qualité. Si vos problèmes sont inhérents à Perl 5.22 (par exemple, certains modules dont vous avez besoin ne sont pas compatibles avec 5.22), Strawberry Perl ne va pas résoudre cela.J'écris ceci parce que certains croient que Strawberry, étant open source, est comme la magie et résout tous les problèmes du monde, mais ce n'est pas le cas. Alors avant de changer, assurez-vous que ça vaut le coup! –

+0

Je ne connais rien aux builds portables, mais j'ai plusieurs builds ActivePerl et StrawberryPerl installés sans problème. Assurez-vous juste d'exécuter le "bon" perl, cpan, cpanm, ppm, etc. – ikegami

Répondre

2

Vous pouvez, il vous suffit de regarder ce qui Perl que vous utilisez. Un seul peut être "premier" dans votre PATH. Pour cela, je suggèrerais de laisser l'ancien perl par défaut, le primaire. Cela aura le moins d'effet sur le code existant (production).

Vous pouvez, cependant, avoir un perl secondaire dans votre PATH avec un nom différent. Par exemple, perl5.22.2.exe pourrait être dans votre PATH, et vous pouvez l'utiliser lors de l'exécution de vos tests. Si vous avez un fichier séquentiel ou similaire comme un wrapper autour des scripts Perl, vous pouvez avoir le fichier batch pour chaque application exécuter le perl correct pour cette application, et vous avez juste besoin d'un) un moyen de remplacer le perl qu'il utilise , et b) pour l'avoir par défaut au niveau testé de perl que vous voulez utiliser. De cette façon, vous pouvez tester avec 5.22.2 pendant un moment, mais la valeur par défaut reste 5.10.1. Et puis vous pouvez passer la valeur par défaut à 5.22.2 lorsque vous êtes prêt pour cette application à basculer. Que ce soit côté client ou côté serveur ne fait aucune différence réelle à ce sujet.

(Et la plate-forme ne fait pas beaucoup de différence non plus - alors que l'implémentation réelle sur un système Unix/Linux peut être un peu différente, l'idée générale ne doit pas être. temps, et gérer quel perl à utiliser sur une base application par application si vous devez.)

+0

Le problème évident avec ceci est le fait que les fichiers batch créés par 'pl2bat' s'appuient sur le' perl' sur le '% PATH%' . –

1

Un des avantages de berrybrew est qu'il vous permet d'installer et d'utiliser l'une des éditions Strawberry Portable d'une manière gérée, avec la possibilité de revenir très facilement à votre système perl (dans votre cas ActiveState) à tout moment.

Vous pouvez installer à partir de Github (lien ci-dessus), ou via un fichier zip selon les instructions d'installation.

Puis:

cd berrybrew 
bin\berrybrew.exe config 

Fermer la fenêtre cmd, ouvrez un nouveau.

berrybrew install 5.24.1_64 
berrybrew switch 5.24.1_64 

fenêtre Ouvrir une nouvelle cmd

À ce stade, vous utilisez Strawberry Version portable 5.24.1. Pour revenir à ActiveState:

berrybrew off 

Pour revenir à un berrybrew géré par exemple la fraise, il suffit d'utiliser la commande de commutation par-dessus. Etes-vous sûr que Strawberry résoudrait vos problèmes?