Nie mam dostępu do roota na zdalnym polu, nad którym pracuję, więc używam kombinacji cpanm i local :: lib, jak opisano here, aby zainstalować moduły CPAN do mojego lokalnego katalogu na tym polu. Używając cpanma, zakładam, że cpanm Module::To::Update
zainstalowałbym najnowszą wersję modułu w mojej lokalnej bibliotece.Co robi Perl, gdy są zainstalowane dwie wersje modułu?
Wygląda na to, że nie potrzebuję uprawnień roota do aktualizacji modułów z CPAN, ponieważ właśnie go wypróbowałem, a uaktualnienie poszło kipiąco. Jednak nadal jestem ciekawy, z której wersji modułu Perl skorzysta: wersja lokalna lub domyślna wersja CPAN? A może po prostu skorzysta z tego, co będzie nowsze?
Jeśli istnieje w Perldoc lub Stack Overflow, również bym to docenił. Próbowałem przeszukać oba, ale nie udało mi się go znaleźć =/
oh. To całkiem proste. I prawdopodobnie określenie 'use Module Version' pozwoliłoby mi wybrać, które chciałbym ręcznie. Dzięki. – gempesaw
@dgempesaw - To domniemanie byłoby niepoprawne. Jeśli musisz załadować konkretny moduł z określonego miejsca, musisz zhakować na '@ INC' lub'% INC' (Istnieje wiele sposobów, aby to zrobić. Jak to zrobić, aby uzyskać dobre pytanie uzupełniające). – mob
@dgempesaw, Aby znaleźć wersję modułu, Perl musi wykonać moduł. Moduł nie może być niewykonany, jeśli nie jest właściwą wersją. – ikegami