2017-10-04 12 views
0

私たちは仕事中にperlを持っていますが、マシンにインストール権限はありません。ですから、私が望むモジュールのtarファイルをダウンロードして、私の選択したディレクトリにそれらをビルドしたいと思います。 しかし私はMakefile.PLまたはBuild.PLを持っていません。どのように進めますか?会社PerlにMakefile.PLまたはBuild.PLがありません

$ which Makefile.PL 
/usr/bin/which: no Makefile.PL in() 
$ which Build.PL 
/usr/bin/which: no Build.PL in() 
+2

Makefile.PLまたはBuild.PLは* perl *ではなくdistro *によって提供されます。 – ikegami

+0

あなたのユーザーアカウントにperlとperlモジュールをインストールできるperlbrewを見てください。https://perlbrew.pl – mttrb

答えて

3

ユーティリティwhich(私のシステムでシェル組み込み)

は(シェル)

だから、それがインストールされたプログラムの場所を照会することができるコマンドのフルパスを示し、 lsまたはcdのように、実際にはコマンドがシェルコマンドであるかどうかを示します。たとえば、which echoを試してください。

ファイルMakefile.PLおよび/またはには、Perlではなく、ディストリビューションが付属しています。彼らはシステムにインストールされたプログラムではなく、そこにいるときでさえ、whichはそれらを見つけることができません。

配布に関するドキュメント、特にインストール方法についての説明を必ずお読みください。ただし、perl Makefile.PLまたはperl Build.PLをある時点で実行することをおすすめします。あなたは解凍したディストリビューションでファイルMakefile.PLを見つけたら、例えば、典型的なプロセスは

を実行しているから成っのperl Makefile.PL

メイクテスト

クイック検索をmake installを作ります明らかにする。this guide on perlmonks。そこにはもっとたくさんのことがあります。

Build.PLは一般Module::Buildに関連付けられている、とインストールアウトラインがあなたの代わりにmake./Build使用することを除いて、上記と同じです。それでmakeを持っている必要はありません。

ExtUtils::MakeMakerの代わりに、Makefile.PLを使用します。これらの2つの主要な選択肢を比較することは難しいことです。 Module::Buildは、ファイルMakefile.PLを生成することもできます。どちらの方法も使用できるように、両方のファイルが提供される可能性があり、この決定自体は議論のトピックです。

インストールにMakefile.PLまたはBuild.PLを使用するかどうかについては、モジュールのディスカッションを見つけて、独自のドキュメントから始め、そのディストリビューションに対してどの人が推薦するかを確認することをお勧めします。ほとんどの場合、どちらも問題ありません。

関連する一般的なファイルタイプは、Makefile(拡張子なし)です。これはプログラムmakeによって実行され、多くの場合引数なし(makeMakefileです)。上記の最初のコマンドはそのようなファイルを書き出し、makeはモジュールをビルド(+ test + install)するアクションを引き起こすために使用します。

代わりにcpanまたはcpanmを使用したことがありますか? を使用して、自分が選択したディレクトリにユーザーとしてインストールすることができます。たとえば、this postおよびthis postを参照してください。あるいは、システム全体のperlの将来の管理から隔離された、選択されたすべてのモジュールを含む完全に含まれたPerlについては、perlbrewと考えてください。

+0

@capser最後に忘れてしまったことについてコメントを追加しました。 cpan/cpanmを使用する任意のディレクトリです。本当にシンプルです。一方、perlbrewを使ってあなたの好きなPerl全体をインストールすることを検討してください。そうすれば、そのPerlで必要なすべてのモジュールを手に入れることができます。そうすれば、システムのperlの変更から保護されます。 – zdim

関連する問題