2010-10-08 25 views
5

Używam perlbrew teraz do zarządzania wieloma wersjami perla, ale perlbrew jest globalna. Jeśli wykonam perlbrew switch perl-5.10.1 w dowolnej powłoce, wszystkie powłoki i skrypty będą teraz używać perl w wersji 5.10.1. Nie ma izolacji. Czy jest jakiś sposób, aby perlbrew przełączniki lokalne do powłoki, czy istnieje podobne narzędzie zdolne do lokalnej zmiany aktywnego perla?Czy istnieje nieglobalny odpowiednik perlbrew?

+0

Zobacz także [Jak zainstalować więcej niż jedną wersję Perla?] (Http://stackoverflow.com/questions/1289564/how-should-i-install-more-than-one-version-of-perl) i [http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-when-using-a-package-manager/398397#398397]((Jak zarządzać modułami Perla podczas używania menedżer pakietów?) – Ether

+0

Zobacz to powiązane pytanie/odpowiedź: http://stackoverflow.com/questions/3776390/how-can-i-control-the-perl-version-used-when-submitting-grid-jobs/ 3776538 # 3776538 – draegtun

Odpowiedz

4

W nowszych wersjach Perlbrew możesz zrobić perlbrew use perl-5.12.3 lub cokolwiek innego i będziesz używać tej wersji Perla, ale tylko w bieżącej sesji powłoki. Inne sesje pozostaną bez zmian.

+0

Muszę to wypróbować. Wygląda dokładnie tak, jak chcę. –

5

Po prostu nie używaj perlbrew. Wszystko co robisz, to zmiana dowiązań symbolicznych. Ma to uratować ci pracę, ale kiedy jej nie ma, nie ma już powodu, by jej używać.

Mówię o tym, jak to zrobić w Make links to per-version tools w Efektywny Perler. Zawsze wiem, którego perla używam, ponieważ nigdy nie muszę pamiętać, który z nich przełączyłem na ostatni i nie przeszkadzam w niczym innym, spodziewając się konkretnej wersji za dowiązaniem symbolicznym. Nadal możesz używać perlbrew do instalowania perls, ale nie oszczędza też tam pracy.

+0

[Omówiono również tutaj] (http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-when-using-a-package-manager/398397#398397) w więcej Szczegół. – Ether

+1

Wiem, że zawsze mogę zainstalować perl 5.10.1 jako "perl5.10.1" na mojej ścieżce, a następnie dokładnie określić wersje, ale myślę, że zachowanie, którego szukam, polega na tym, że 'perl' uruchamia pewną domyślną wersję perla . Wtedy jeśli uruchomię 'perlbrew switch' w jednej powłoce, to' perl' w tej powłoce odnosi się do nowej wersji, ale wszystkie inne powłoki i programy nadal uruchamiają domyślny perl. I tak samo dla reszty środowiska perl: moduły, pliki wykonywalne, strony podręczne/perldocs. Przypuszczam, że będę musiał nauczyć się korzystać z pakietu Furlani Modules, do którego twój artykuł prowadzi, aby uzyskać to, czego chcę. –

+1

Proponuję tylko przedefiniować to, co chcesz. To mniej pracy. :) –

Powiązane problemy