質問

同僚が使おうとしています ああ (Perl プログラム) を Windows マシンで試し、Linux で試してみて、絶対に使いたいと決めました。彼はなんとか手に入れた ストロベリーパール 彼のマシンにインストールされていますが、コマンド プロンプトから ack を実行するにはどうすればよいのかわかりません。彼は #! を編集してみました。しかし、それがうまくいかないことはわかっていました。Strawberry perl が彼の PATH にあると確信しています。

Strawberry を使用して Windows 上の PATH で一般的な Perl プログラムを実行するには何をする必要がありますか?

アップデート:PATHEXT 変数に関する情報をオンラインで見ていますが、十分ではありません。

役に立ちましたか?

解決

まず、プログラムが Path, 、 だけでなく perl.exe. 。Perl バイナリとコア プログラムは通常、次のようになります。 <installdir>\bin, ただし、その他のファイルはサイト固有のディレクトリに保存される可能性があります。 <installdir>\site\bin. 。コマンド

dir C:\strawberry\ack* /s

あなたの検索に役立つかもしれません。必ず確認してください Path 設定を反映します。

Windows コマンド プロンプトから Perl プログラムを実行するには、少なくとも私が知っている一般的な方法が 2 つあります。

1 つ目は、プログラムのバッチ バージョンを作成することです。 pl2bat, 、実行されます perl プログラムと一緒に。通常、インストールされたプログラムはこれを自動的に実行します。 MakeMaker そして Module::Build これに気をつけてください。

2 つ目は、 .pl ファイルの関連付け。これは、レジストリ キーを作成することによって行われます。 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.pl\Shell\Open\Command (または HKEY_CURRENT_USER 現在のユーザーのみを対象とする場合)、 (Default) に値を付ける

"C:\strawberry\perl\bin\perl.exe" "%1" %*

そうすれば、プログラムに次の名前を付けるだけでプログラムを呼び出すことができます。 .pl 拡大。これでプログラムを呼び出すことができます program.pl.

Windows では拡張子なしでプログラムを呼び出すことができることに気づいたかもしれません。プログラムは次の場所で検索されます。 Path, ただし、拡張子がない場合は、 PATHEXT 名前を完成させるために使用されます。追加 .pl をリストに追加すると、次のようにするだけでプログラムを呼び出すことができます。 program. 。このリスト内の順序は、次の順序と同様に、検索にとって重要であることに注意してください。 Path 重要です。

通常、最後の 2 つのステップはインストーラーが処理しますが、この知識は、独自のステップを追加したい場合や修正する必要がある場合に役立ちます。

他のヒント

私はACKをインストールし、コマンドラインからそれを実行している問題はありませんでした。

ストロベリーPerlが正しくインストールされていますか?あなたはCMD.EXEから "パール" を実行することができますか?

C:\> perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
...

のApp :: ACKが正しくインストールしましたか?

C:\> cpan App::Ack
...
Installing C:\strawberry\perl\site\lib\App\Ack.pm
Installing C:\strawberry\perl\site\lib\App\Ack\Plugin.pm
Installing C:\strawberry\perl\site\lib\App\Ack\Repository.pm
Installing C:\strawberry\perl\site\lib\App\Ack\Resource.pm
Installing C:\strawberry\perl\site\lib\App\Ack\Plugin\Basic.pm
Installing C:\strawberry\perl\bin\ack
Installing C:\strawberry\perl\bin\ack.bat
Writing C:\strawberry\perl\site\lib\auto\ack\.packlist
Appending installation info to C:\strawberry\perl\lib/perllocal.pod
  PETDANCE/ack-1.88.tar.gz
  C:\strawberry\c\bin\dmake.EXE install UNINST=1 -- OK

もしそうなら、あなたがコマンドラインから「ACK」を実行することはできませんなぜ、私は表示されません。

C:\> ack --version
ack 1.88

Copyright 2005-2009 Andy Lester, all rights reserved.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

そのチェーンに物事が壊れているところでは、機能していない場合は?コマンドラインから「パール」を実行できない場合たとえば、その後、ストロベリーが正しくインストールされていない(または、あなたのPATHにない)、あなたはそれを修正する必要があります。しかし、そうでない場合、ACKは「パール」と同じパスにラッパー、あなたは「Perlを」実行することができますので、もしあなたが「ACK」を実行することができるはず「ack.bat」でインストールされます。

別の解決策は、PAR ::パッカーでack.exeを作成することです - 。彼は全くストロベリーを必要としないでしょう。

彼は<のhref = "http://perlbuzz.com/2008/01/how-to-install-and-set-up-strawberry-perl.html" のrel = "nofollowをnoreferrer" の指示に従っています場合>このブログ記事を、彼は大丈夫でなければなりません。私は今、しばらくの間、ストロベリーPerlをインストールすることがありませんでしたが、私はそれをインストールした後IIRCは、私はちょうど私がLinuxボックスにあった場合、私は希望のようにそれを使用することができました。 (例えばperl yourscripthere.pl

1.Installイチゴ-perlの 2.OpenのPerlコマンドライン 3.Writeコマンドperlのtest.pl

ステップ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top