2008-09-16 11 views
91

win32.perl.orgウェブサイトは、MS Windows用のいくつかのPerlディストリビューションへの参照を提供します。Windows上でどのバージョンのPerlを使うべきですか?

長い間、私は ActiveStateからのActivePerlを使用してきたが、最近、私は Strawberry Perlに切り替えます。アクティブPerlはまだイチゴのPerlの上に持っている唯一の利点は Devel::ptkdbグラフィカルデバッガをインストールするには、その簡単を意味し、それはPerlのTkのが付属しているという事実である私見

。それ以外にも、Strawberry Perlにはすべての利点があると思います。

+0

この投稿から、私はMoose、Dancer、Padreを含む多くの追加モジュールでStrawberry Perlを再パッケージ化し始めました。 http://dwimperl.com/ – szabgab

答えて

76

Strawberry Perlが順調に改善しています。私がActiveStateを繰り返し使用していた問題の1つは、コアモジュールへのアップグレードが必要なためにモジュールがインストールされないことがあるということですが、それは許されません。したがって、の人はを使用していません。Windowsは自分のコードを使用できますが、ActiveStateのPerlではそのコードを使用できません。

ActiveStateには非常に厄介なビルドシステムもあります。なぜなら、モジュールがビルドに失敗した理由を正確に報告できないことがよくあります。私は電子メールと私が最終的にあきらめたこの情報を求めて疲れました。私のコードをWindows上で実行したいのですが、ActiveStateがその情報を私に提供せず、コアモジュールをアップグレードするためのオプションを私に与えない場合、私はそれを使うことができません。私のモジュールの中には、ActiveState Perlを使っているものを除いて、どのオペレーティングシステムでもビルドに失敗したものがあります。 Strawberry Perlをサポートし、ActiveStateについて心配する必要はありません。

ActiveStateがビルドシステムと「コアモジュールへのアップグレードなし」ポリシーを修正した場合は、再訪する価値があります。

+8

コアモジュールをAS Perl 5.8.8ビルド518(2007年1月リリース)からアップグレードすることは可能です。彼らはまた、2008年にCPANビルドシステムをアップグレードしましたが、正確な時期はわかりません。 –

+1

ストロベリーパールは素晴らしいです。しかし、MSys Bashをシェルとして使用している場合、[cpan]のようなコマンドでは認識されない[既知の問題](https://rt.cpan.org/Public/Bug/Display.html?id=82837)があります。作業。 –

17

私は主にActivePerlを使用しますが、Strawberry Perlがどこに向かうのが本当に好きです。私はcpanシェルが「うまくいく」ことが大好きです.XSモジュールをインストールするためには、たくさんのフープを飛び越える必要はありません。 (例:ExtUtils :: FakeConfig、最近のActivePerlビルドではそれほど必要ではありませんが)私はまた、サムドライブ上でPerlの可能性について興奮しています。 Portable Perlのデベロッパーリリースは既にかなり使い慣れています。

ActivePerlの主な利点は、そのままの状態でTkになっていることに同意しますが、5.10 ActivePerlではデフォルトではTkに同梱されていません。代わりにTkxが付属しています。

2

ActiveState Perlは、事実上のWindows Perlと考えられています。それには多くの欠陥があり、多くの人が他のものを使用していますが、非常に人気があります。 PerlコードをWindowsマシン上で(自分のもの以外で)実行するには、Perlのインストールが実行されているときにデフォルト(またはデフォルトとして)に目を通して書くことを検討します。それ以外のものは、後であなたのアプリを使用しようとしている他人のためのエントリーに障壁を導入しています。

+0

AFAIK、PAR ppはStrawberryとうまく動作します。これはIIUCがDLLを使用する場合、PPコンパイル済みアプリを配布できるようにするためにOEMライセンスが必要なため、自分のアプリを配布する点で大きな利点です。 –

+2

@Sinan、ActivePerlライセンスとPARについての記述は間違っています。ライセンスの第4条を参照してください。ライセンスでは、PAR、PerlApp、Perl2Exeなどのラッピングツールで生成されたアプリケーションの一部として、パッケージの一部を再配布することもできます。ただし、本ライセンスでは、(a)パッケージを全体として再配布すること、(b)言語の配布を作成するためにそのパーツを使用すること、(c)ISAPIまたはPerlExコンポーネント用PerlScript、PerlExをアプリケーションに再配布することはできません。 http://www.activestate.com/activeperl/license/ – daotoad

+0

@daotoadええええええええええええええええええええええええええええええええええええええええええええええええええば、修正していただきありがとうございます。 –

13

未来は間違いなくストロベリー・パールです。 どちらを選択したとしても(この問題はWindows固有のものではありません)、最終結果を他のマシンに配布する場合は、提供するインストーラ/インストール手順に注意する必要があります。

28

最高のPerlディストリビューションはありません。 Vanilla Perl(再配置可能、再配布可能なPerl)であり、より開発者に優しいStrawberry Perlの潜在的可能性があります。

しかし、ActivePerlが非常に普及している理由は非常にあります。ほとんどの利点は、エンドユーザ(パッケージマネージャ、PPMを使用するのにコンパイラを必要としない)のための配備の容易さという形で提供されます。ActiveState PDK(Perl Development Kit)は、Perlをユーザーのマシンにインストールする必要のない完全なWindowsバイナリをパックする非常に良い方法です。

残念ながら、(OpenSSL用のPerlバインディングのような)多くの非常に素晴らしいCPANモジュールは、ActiveStateのリポジトリでは利用できません。

ほとんどの場合と同様に、どの配布がニーズに最も適しているかに基づいて選択する必要があります。

+0

PerlAppは便利なツールのようです(私はPar :: Packerと比較しませんでした)が、PDKは$ 300の値札を持っています。 –

2

私はストロベリーに大きな問題を抱えていました。私はサポートがないと感じました。 PerlMonksの優秀な人たちは私を助けませんでした。私はあきらめました。 this pageが自信を持っていない場合、答えがあります。

6

Strawberry Perlは、* nixのPerlとよく似ています。それ自身で役に立つかもしれないMinGWが付属しています。 Perlモジュールは、ppmまたはcpanのいずれかでインストールすることもできます。

+1

注:mingwをstrawberry perlと一緒にインストールする場合、strawberry perlが異なるバージョンのminsysアプリを使用している可能性があることに注意してください。私は私のパスからmingwを削除するまで、私はいくつかの大きな問題を抱えていました。 –

+0

* nixのPerlのようにWindows上でPerlを実際に使用したい場合は、SUA/SFUをインストールしてください(付属のPerlをインストールしないでください)。Debian Interix/pkgsrc-interixのPerlを使用してください。 – MkV

3

私はいつもCygwin(xtermsとbashはcmdウィンドウよりずっと優れています)とそれに付属のPerlを使用します。私はCPANシェル( "cpan"コマンド)を使ってPerlモジュールをインストールします。それはうまく動作します。

1

私が書いたコードは、フォーチュン500企業の土地であり、「コーポレート」な感じが役立ちます。私はこれまでActivePerlを使用していましたが、内部ツールとその大規模な顧客への配布にはうまくいきました。

4

私はずっとStrawberry Perlを好みます。 1つは、gccをmingwinの一部としてインストールするので、CPANから直接インストールできます。

私はActiveStateのperlをしばらく使っていましたが、(一見)同じように構成されているにもかかわらず、あるマシンから別のマシンに多くのフレークさがありました。彼らのPPMモジュールのパッケージ化も悪い味を残しました。パッケージを管理するのは簡単ではありませんが、CPANのアップデート後にPPMを更新することに依存しています。また、PPMは決してCPANの完全な内容ではありません。 ActivePerlを最後に使用したとき、私が必要としていたすべてのモジュールを見つけるのは難しかったし、そこにあったものはしばしば古いバージョンだった。

+1

私は何が投票を評価したのか不思議です。 – gWaldo

0

私はActive State Perl 5.014を使用していますが、これは問題なく動作します。

問題は、Padreの最新バージョン(IDE、debbugging環境)がないことです。

関連する問題