2010-10-08 67 views
5

我現在正在使用perlbrew來管理多個版本的perl,但perlbrew是全局的。如果我在任何shell中執行perlbrew switch perl-5.10.1,則所有shell和腳本現在將使用perl 5.10.1版本。沒有隔離。有沒有什麼辦法讓perlbrew開關局部地在shell中,或者是否有類似的工具能夠在本地更改活動的perl?是否有非全球性的perlbrew?

+0

另請參見[我應該如何安裝多個版本的Perl?](http://stackoverflow.com/questions/1289564/how-should-i-install-more-than-one-version-of-perl )和[http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-when-using-a-package-manager/398397#398397](如何在使用Perl模塊時使用一個包管理器?) – Ether 2010-10-09 00:55:35

+0

看到這個相關的SO問題/答案:http://stackoverflow.com/questions/3776390/how-can-i-control-the-perl-version-used-when-submitting-grid-jobs/ 3776538#3776538 – draegtun 2010-10-09 09:35:38

回答

4

在更新版本的Perlbrew中,您可以執行perlbrew use perl-5.12.3或其他任何操作,您將使用該版本的Perl,但只能在當前的shell會話中使用。其他會議不會受到影響。

+0

我必須嘗試一下。它看起來正是我想要的。 – 2011-02-18 20:22:50

5

只是不要使用perlbrew。它所做的就是爲你改變符號鏈接。它應該可以節省你的工作,但當它不工作時,就不再有使用它的理由。

我說說我是怎麼做的Make links to per-version toolsThe Effective Perler。我總是知道我使用的perl,因爲我永遠不必記住哪一個我切換到最後,並且我不打擾任何期望符號鏈接後面的特定版本的其他東西。你仍然可以使用perlbrew來安裝perls,但它並不能爲你節省那麼多工作。

+0

[也在這裏討論](http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-when-using-a-package-manager/398397#398397)in more詳情。 – Ether 2010-10-08 23:30:13

+1

我知道我總是可以在我的路徑中安裝perl5.10.1作爲'perl5.10.1',然後明確指定版本,但是我想我正在尋找的行爲是'perl'運行某個默認版本的perl 。然後,如果我在一個shell中運行'perlbrew switch',那麼該shell中的'perl'指向新版本,但所有其他shell和程序將繼續運行默認的perl。和其他perl環境一樣:模塊,可執行文件,manpages/perldocs。我想我必須學習如何使用您的文章鏈接到的Furlani模塊包來獲得我想要的。 – 2010-10-09 01:05:19

+1

我建議你重新定義你想要的。這是更少的工作。 :) – 2010-10-09 01:41:23

相關問題