WindowsではどのバージョンのPerlを使用すればよいですか?[閉まっている]


98

win32.perl.orgウェブサイトは、MS WindowsのためのいくつかのPerlディストリビューションへの参照を提供します。

長い間、ActiveStateの ActivePerlを使用してきました が、最近はStrawberry Perlに切り替えました 。

IMHO Active PerlがいちごPerlよりも優れている唯一の利点は、Perl Tkが付属しているという事実です。つまり、グラフィカルデバッガーであるDevel :: ptkdbを簡単にインストール できます。それ以外に、Strawberry Perlにはすべての利点があると思います。


この投稿以来、Moose、Dancer、Padreを含む多くの追加モジュールでStrawberry Perlの再パッケージを開始しました。読者もこれを検討したいと思うかもしれません:dwimperl.com
szabgab

回答:


80

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ビルドシステムをアップグレードしましたが、正確な時期はわかりません。
Alexandr Ciornii 2009年

1
Strawberry Perlは素晴らしいです。ただし、MSys Bashをシェルとして使用する場合、などのコマンドが機能しないという既知の問題がありますcpan
大佐パニック

30

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

ただし、ActivePerlが非常に人気があるのには非常に正当な理由があります。利点は主に、エンドユーザーが簡単に展開できることです(パッケージマネージャーPPMを使用するためにコンパイラーは必要ありません)。ActiveState PDK(Perl開発キット)は、ユーザーのマシンにPerlをインストールする必要のない完全なWindowsバイナリをパックするための非常に優れた方法でもあります。

残念ながら、非常に優れたCPANモジュール(OpenSSLのPerlバインディングなど)の多くは、ActiveStateのリポジトリからは利用できません。

ほとんどの場合と同様に、ニーズに最適なディストリビューションに基づいて選択を行う必要があります。


PerlAppは便利なツールのように見えますが(Par :: Packerと比較していません)、それが入っているPDKには300ドルの値札があります。
ネイトグレン

17

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

ActivePerlの主な利点はTkがそのまま使用できることに同意しますが、5.10以降、ActivePerlはデフォルトでTkに同梱されなくなったことに注意してください。代わりにTkxに同梱されています。


13

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


6

Strawberry Perlは* nix上のPerlに似ています。それ自体で役立つ可能性のあるMinGWが付属しています。Perlモジュールは、ppmまたはcpanでインストールすることもできます。


1
注:ストロベリーperlと一緒にmingwをインストールする場合、ストロベリーperlが異なるバージョンのminsysアプリを使用している可能性があることに注意してください。パスからmingwを削除するまで、ストロベリーperlがWin32 :: OLEおよびその他のモジュールをビルドするのにいくつかの大きな問題がありました。
ロバートP

* nix上のPerlのようなWindows上のPerlが本当に必要な場合は、SUA / SFUをインストールし(付属のPerlをインストールしないでください)、Debian Interix / pkgsrc-interixのPerlを使用します。
MkV 2010

4

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

私はしばらくの間、ActiveStateのperlを使用していましたが、(一見)まったく同じように構成されているにもかかわらず、あるマシンから別のマシンへの変動が多くありました。彼らのPPMモジュールのパッケージングも悪い味を残しました。パッケージの管理は非常に単純になりますが、CPANの更新後にPPMを更新することはパッケージに依存しています。また、PPMはCPANの完全なコンテンツではありません。前回ActivePerlを使用したとき、必要なすべてのモジュールを見つけるのに苦労しました。そこにあったモジュールは、多くの場合古いバージョンでした。


2
何が反対票だったのか気になります。
gWaldo 2010

3

私は常にCygwin(bash付きのxtermはcmdウィンドウよりもはるかに優れています)とそれに付属しているPerlを使用しています。CPANシェル(「cpan」コマンド)を使用してPerlモジュールをインストールします。それは正常に動作します。


3

ActiveState Perlは、長い間、事実上のWindows Perlと見なされてきました。それには多くの欠陥があり、私たちの多くは他のものを使用していますが、それでも非常に人気があります。Windowsマシン(自分のマシン以外)で実行するPerlコードをビルドしている場合、デフォルト(または私が可能な限りデフォルト)のAS Perlインストールを実行することを念頭に置いてコードを書くことを検討します。それ以外のものとあなたは、後であなたのアプリを使おうとする他者のために、参入障壁を導入しています。


申し訳ありませんが、PAR ppはStrawberryで正常に動作します。IIUCには、DLLを使用する場合にppでコンパイルされたアプリを配布できるようにOEMライセンスが必要になるため、独自のアプリを配布する上で大きな利点があります。
SinanÜnür2009年

3
@ Sinan、ActivePerlのライセンスとPARに関する記述は正しくありません。ライセンスThe license also allows You to redistribute parts of the Package as part of an application generated by wrapping tools such as PAR, PerlApp or Perl2Exe. However, this License does not allow You to (a) redistribute the Package as a whole, (b) use its parts to create a language distribution, or (c) redistribute the PerlScript, Perl for ISAPI or PerlEx components with Your application. activestate.com/activeperl/licenseの
daotoad

@daotoadうーん...以前のバージョンでは許可されなかったと誓うことができましたが、正しく覚えているかどうかさえわかりません。訂正ありがとうございます。
SinanÜnür2010年

2

イチゴに大きな問題があり、サポートがないと感じました。PerlMonksの善良な人々は私を助けることができず、私はあきらめました。場合は、このページには自信のある特定の欠如とあなたを残し、あなたの答えがあります。


1

私が作成したコードはFortune 500企業に導入されているため、「企業」の感覚が役立ちます。私はこれまでActivePerlを使用してきましたが、内部ツールや大規模な顧客への配布の両方で問題なく動作しました。


1

正常に動作するActive State Perl 5.014を使用しています。

問題は、パドレ(IDE、デバッグ環境)の最新バージョンがないことです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.