39

I'm a C/C++/Java/Unix geek by trade, but now I have to write a Perl program in Windows. So I've got Cygwin, Eclipse with EPIC installed, and simple test programs run. I do not have a Unix machine available to me that I can run Eclipse on.

But I need to use Net::TCP::Server and I can't figure out how to install it. It doesn't appear to be part of the Cygwin Perl install, and I don't want to spend 5 days learning the world of Perl and CPAN and Perl configuration. I just want to write my program.

Any simple ways of installing a Perl module in Cygwin? I'm thinking something like apt-get install would be nice, but I expect that's too much to hope for.

Thanks

4

5 に答える 5

34
$ perl -MCPAN -e shell
cpan shell -- CPAN exploration and modules installation (v1.9402)
Enter 'h' for help.

cpan[1]> install Net::TCP::Server

o confまた、コマンドを使用して構成を一覧表示することは有益です。

于 2012-05-07T14:24:16.157 に答える
6

ここにある情報の一部は少し時代遅れで複雑すぎるので、次のことをお勧めします。いくつかの異なる Perl パッケージ マネージャーが使用されています。これらはすべてcpan、次のように (Cygwin Perl インストールの一部として既にインストールされています) とともにインストールされます。

# Install ppm (outdated)
cpan PPM 

# Install cpanp (still used)
cpan CPANPLUS

# Install cpanm (most recent)
cpan App::cpanminus

次に、たとえばOPのように、次を使用して、好きなPerlパッケージをインストールできますcpanm

cpanm Net::TCP::Server

(前述のように) Cygwin が特定のテストに失敗する場合があります。たとえば、IPv4 だけで構成されたマシンで IPv6 を使用する場合、または Windows ファイアウォールが一部のテストをブロックしている場合などです。とにかくインストールを試みるには、強制フラグを使用してみてください。-f.

cpanm -f Net::TCP::Server
于 2016-09-08T09:52:02.397 に答える
4

私は商売として C/C++/Java UNIX オタクですが、今では Windows で Perl プログラムを書かなければなりません。だから私は cygwin、EPIC をインストールした eclipse、そして簡単なテスト プログラムを実行しました。Eclipse を実行できる UNIX マシンがありません。

Cygwin なしで、Windows の下で EPIC を使用して Eclipse を実行できるはずです。Cygwin は多くの点で気に入っていますが、あまり安定したプラットフォームではありません。Eclipse は Java プログラムとして実行されるため、Java が PC にインストールされていることを確認するだけで済みます。ビルド済みの Eclipse パッケージもあります。

Windows のすぐ下で動作する適切な Perl を入手することもできます。ActivePerlまたはStrawberry Perlのいずれか。Cygwin と同じ MIGW 環境が付属しており、Unix Perl 兄弟との互換性が高いと多くの人が感じているため、多くの Unix ヘッドは Strawberry Perl を好みますが、どちらでも機能します。ただし、ActiveState Perl は、ビルド済みモジュールを含む Perl Package Manager (PPM) を使用できます。残念ながら、必要なモジュールは PPM 経由では入手できません。

しかし、Net::TCP::Server を使用する必要があり、インストール方法がわかりません。これは cygwin perl インストールの一部ではないようで、perl と cpan と perl 構成の世界を学ぶために 5 日間を費やしたくありません。プログラムを書きたいだけです。

CPAN からのインストールは非常に簡単です。CPAN を初めて実行するときは、ほぼ自動的に構成されます。次に、インストールを実行するには、実行cpan install Net::TCP::Serverします。これで完了です。しかし、いくつかの Mac、Unix、および Linux マシンで試しましたが、動作しません。したがって、これは Windows の問題ではなく、このモジュールの問題です。これはかなり古いもので、新しいバージョンの Perl ではうまく動作しない可能性があります。テストの異議を超えてインストールを強制する必要がある場合があります。

代わりに、Perl に付属している既にインストールされているIO モジュールの 1 つを使用することができます。必要なモジュールは Perl の既存のパッケージの一部であるため、これで大量のトラブルを回避できます。

于 2012-05-07T22:28:41.273 に答える
2

Cygwin には「問題」がありますが、Windows を使用する必要があるときは常に Cygwin を定期的に使用しています。Cygwin は root ユーザー ポリシーを強制しないため、何か問題が発生した場合に Cygwin の Perl のコピーに干渉しないように、最初に perlbrew を使用して Perl を個別にインストールすることをお勧めします。Cygwin シェルで、次のように入力します。

\curl -L http://install.perlbrew.pl | bash

これにより、perlbrew のインストールが実行され、実行可能パスの 1 つに設定されます。次のタイプ

perlbrew init
perlbrew install --force stable
perlbrew switch stable

ミント Perl がコンパイルされるまで少し待ちます。理由は不明ですが、Perl は Cygwin で (少なくとも私のマシンでは) コア モジュール テストの 99.23% しかパスできないため、 --force フラグを使用します)。私の経験では、ほとんどの場合、ポートやパイプなどのデバイス ファイルの処理に関係しています。Cygwin の問題のように思われるため、この問題を解決しようとしている人を私は知りません。一般的なシステムおよび Web プログラミング タスクに関しては、それほど問題にはなりませんでしたが。モジュールのテスト ルーチンは、何か問題があれば失敗するので、心配していません。

次のステップは、cpanm (cpanminus) をインストールすることです。

perlbrew install-cpanm

これ以降、CPAN から任意のライブラリをインストールするには、次のように入力します。

cpanm [library::name1] [library::name2]

cpanm を使用すると、Perl モジュールを簡単にインストールできます。CPAN の代わりにローカル ディレクトリからインストールすることもできます。

于 2015-03-16T00:09:13.960 に答える