web-dev-qa-db-ja.com

CygwinにPerlライブラリをインストールするにはどうすればよいですか?

私は貿易でC/C++/Java/Unixオタクですが、WindowsでPerlプログラムを作成する必要があります。それで、EPICがインストールされたCygwin、Eclipse、および簡単なテストプログラムを実行しました。 Eclipseを実行できるUnixマシンがありません。

しかし、Net::TCP::Serverを使用する必要があり、それをインストールする方法がわかりません。 Cygwin Perlのインストールには含まれていないようです。PerlとCPANの世界とPerl構成を5日間学習したくありません。私は自分のプログラムを書きたいだけです。

CygwinにPerlモジュールをインストールする簡単な方法はありますか?私はapt-get installのようなものがニースになると思っていますが、それは望みすぎだと思っています。

ありがとう

35
stu
$ 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コマンドを使用して構成をリストすることは有益です。

32
Jens

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

# Install ppm (outdated)
cpan PPM 

# Install cpanp (still used)
cpan CPANPLUS

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

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

cpanm Net::TCP::Server

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

cpanm -f Net::TCP::Server
5
not2qubit

私は貿易でC/C++/Java unixオタクですが、WindowsでPerlプログラムを作成する必要があります。それで、cygwin、EPICがインストールされたEclipse、簡単なテストプログラムを実行しました。 Eclipseを実行できるUNIXマシンがありません。

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

また、Windowsで実行される適切なPerlを取得することもできます。 ActivePerl または Strawberry Perl のいずれか。多くのUnixヘッドはStrawberry Perlを好みますが、Cygwinが持っているのと同じMIGW環境を備えており、多くの人がUnix Perlの兄弟とより互換性があると感じているため、どちらも動作します。ただし、ActiveState Perlは、ビルド済みモジュールを含むPerlパッケージマネージャー(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モジュール のいずれかを使用できます。必要なモジュールはPerlの既存のパッケージの一部であるため、これにより多くの手間が省けます。

4
David W.

Cygwinの「問題」にもかかわらず、私はWindowsを使用する必要があるときはいつもCygwinを定期的に使用します。 Cygwinはroot-userポリシーを強制しないので、何か悪いことが起こった場合にCygwinのPerlのコピーを邪魔しないように、まずperlbrewを使用してPerlの個別のインストールをインストールすることをお勧めします。 cygwin Shellで、次のように入力します

\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の代わりにローカルディレクトリからインストールすることもできます。

2
salty-cat-fish

あなたの走行距離は異なるかもしれませんが、Strawberry PerlのPATHに多くのbinフォルダーがあることに気付き、非常に単純なPATH =/bin:/ usr/binのみをエクスポートするように.bashrcを変更したとき、私は多くの問題を抱えていました:/ usr/local/bin、CygwinのPerlインストールのcpanは見事に機能し始めました。 CygwinはSudoをサポートしていないため、local:libを使用しました。 「スペースを押してEnterキーを押してPatchを終了する」という悪いループに入る前に。

0
sflitman