local :: libを経由してCPANモジュールをインストールする

2009年8月30日··で掲示されるのPerl

非推奨:このテキストは、テキストによって時代遅れにされました がますます簡単にPerlの

あなたがroot権限を持っていないマシン上でCPANモジュールをインストールすると、非常に簡単です。 モジュール自身のlocal :: libをCPANを使用すると、モジュールはあなた自身のホームにインストールされているローカル·インストールを作成することができます。

CPANの設定

単に端末を呼び出して、コマンドCPANを入力します。 それは簡単な紹介メッセージを表示し、あなたがすべてを自動的に設定できるようにしたいかどうかを尋ねます。 ほとんどの場合、自動設定で十分ですが、私は自分自身のためにいくつかのオプションを設定しますので、私は "いいえ"と答えます。

 あなたは私が自動的に可能な限り設定しますか?  [はい]に 

私はデフォルトとは異なるお答えすることを最初のオプションは、前提条件(<prerequisites_policy>)を定義するポリシーです。 それが中毒を持つモジュールに直面したときにCPANが何をすべきかを定義します。 デフォルトでは、(質問) "お願い"されています。

 建物の前提条件に関する基本方針(フォロー頼むまたは無視する)?  [質問]に従っ 

私はそれが(下記参照) 'に続く'に変更します。 ので、CPANには、いくつかの依存性はなく、私に尋ねるを持つモジュールを見つけたとき、彼はそれを自動的にインストールしようとします。 これは、Catalystと同じ大きさに依存関係ツリーの長い施設の間に非常に便利です。

  'build_requires "モジュールのインストールに関するポリシー(はい、いいえ、はい/尋ねる、
 )/何頼むか?  [はい/質問]はい 

以下は、モジュールのビルド依存関係のインストールについての質問です。 また、私はインストールされているビルド依存関係に 'yes'には 'yes /尋ねる "に変更されます。 デフォルトでは、質問と答えはyesを示唆した。

次は、通常、CPANに使用するツールに関する一連の質問をしています。 私はいずれかが不足しているかどうかを確認するために、この時間を割いて、それをインストールします。

 あなたのbzip2プログラムはどこですか?  [/ Bin/bzip2]

あなたのgzipプログラムはどこですか?  [/ビン/ GZIP] 

いくつかのオプションを、次のは、私はUTF-8に文字コードISO-8859-1デフォルト値を変更することです。

 文字セット(別名キャラクタセット)で、次のオプションのお得な情報お
端末がサポートしています。 一般的には、CPANので、英語圏の領土である
 charsetはあまり重要ではありませんが、いくつかのCPANはされている名前を持っている
 ASCIIの範囲外。 あなたの端末がUTF-8をサポートしている場合は、次のことを行う必要があり
次の質問にノーと言う。 それはまた知られているISO-8859-1(予想される場合
 LATIN1)をあなたがはい言う必要があります。 それは、あなたの答えのどちらをサポートしている場合
あなたはいくつかの名を読み取ることができませんので、問題ではありません
とにかく作者。 あなたはnoと答えた場合には、名前がUTF-8で出力されません。

ご使用の端末は、(​​はい/いいえ)ISO-8859-1期待して?  [はい]に 

それはリポジトリのリストをダウンロードするには、インターネットに接続できるかどうかCPANかを尋ねられます。 彼はよく、彼が行う必要があることについて教育されるので、複数の独立しましょう​​オプションを設定しています。 yesと答え、それがサーバのリストをダウンロードするのを待ちます。

サーバのデフォルトと通信した後、それはあなたが3ステップでリポジトリを設定したいものについて尋ねられます。 まず、国と最終的にリポジトリ自体、大陸にお問い合わせください。 あなたは、同時に複数のオプションを選択することができます。 私は、国、ブラジル、チリ、米国および各国で最終的にいくつかのリポジトリに南米と北米の大陸に選んだ。 どのように、何をしたいを選択すること自由に感じなさい。

準備ができました。 今、あなたはCPANシェルである。

モジュールは、ローカルインストールする:: libに

次のステップでは、モジュールローカル:: libをインストールして設定することです。 CPANシェルコマンドで、このタイプの場合:

 ローカルCPAN [1]>表情:: libを 

これはCPANモジュールをダウンロードして原因がそれを自動的にインストールされません。 代わりに、それはモジュールがローカル展開したディレクトリ:: libに新しいシェルを開きます。

このシェルで、次のコマンドを使用してブートストラップを実行します。

 触媒分光@:〜/ perlのMakefile.PL $ .cpan/build/local-lib-1.004003-UyX2wf \
 - ブートストラップ&&は、テスト&& make installを行う 

最後になりましたが、いくつかの環境変数をエクスポートする必要があります。 現在のシェルを終了するには、それは(Ctrl + D)を、CPANシェル(BYEまたは終了)終了してbashで以下のコマンドを実行します。

  & gt; & gt;~ / .bashrc エコー 'evalは$(perlの-I $ HOME/perl5/lib/perl5-Mlocal :: lib)に"&gtの、&gtの、〜/ bashrcに。 

これはファイルの最後に環境変数をエクスポートするコマンドを追加します。その後bashrcに、それらが自動的にエクスポートされるすべてのログインします。

そのbashrcファイルの再実装を強制するか、ログアウトして再度ログイン

  触媒分光@:〜$。  〜。/ bashrcに 

環境変数が設定されているか、奇妙なことが起こる可能性があることを確認してください。 適切な操作以外の理由 "奇妙な"何かを理解しています。 いくつかの本当に奇妙なことができます。 :)

  | grep perl 触媒分光@:〜$ ENV | grepはperlの
 home / catalyst / perl5 / lib / perl5: / home / catalyst / perl5 / lib / perl5... PERL5LIB = /ホーム/触媒/ perl5の/ libに/ perl5の:/ホーム/触媒/ perl5の/ libに/ perl5の...
 home / catalyst / perl5 / .modulebuildrc MODULEBUILDRC = /ホーム/触媒/ perl5の/。Modulebuildrc
 home / catalyst / perl5 / bin: / usr / local / bin: / usr / bin: / bin: / usr / games PATH = /ホーム/触媒/ perl5の/ binに/ usr / local / binに/ usr / binには、/ binは、/ usr /ゲーム
 = / home / catalyst / perl5 PERL_MM_OPT = INSTALL_BASE = /ホーム/触媒/ perl5の
 触媒分光@:〜$ 

彼女のメイクアップに触れる

あなたがモジュールをインストールする前に、今、それは良いアップグレードモジュールそのものですCPAN.pm. 大文字と小文字に注意してください。

 触媒分光@:〜$ CPAN CPAN
 ...
インストール/ home/catalyst/perl5/bin/cpan
書き込み/ home/catalyst/perl5/lib/perl5/i486-linux-gnu-thread-multi/auto ...
 / home/catalyst/perl5/lib/perl5/i486-linuxへのインストール情報を追加...
   ANDK/CPAN-1.9402.tar.gz
   make installを/ usr / binに/  -  OK
警告(通常は無害): "YAML"がインストールされていない、店を永続化しません...
触媒分光@:〜$ 

彼はYAMLモジュールがインストールされていないことを警告しているCPAN.pmノートの新バージョンをインストールした後。 すべてがあまりにも太っintaláそれに行くようにします。

 触媒分光@:〜$ CPAN YAML
 ...
書き込み/ home/catalyst/perl5/lib/perl5/i486-linux-gnu-thread-multi/auto/Y ...
 / home/catalyst/perl5/lib/perl5/i486-linuxへのインストール情報を追加...
   INGY/YAML-0.68.tar.gz
   make installを/ usr / binに/  -  OK
 CPAN:YAMLロードされたOK(v0.68)
 /ホーム/触媒/からYAMLファイルを読み取るしよう。CPAN /ビルド/
 DONEが
状態の復元なし(0.0265秒)で
触媒分光@:〜$ 

今すぐはい。 のは、新しくインストールしたモジュールはYAMLを行ったを見てみましょう。

 触媒分光@:〜$ lsの〜/ perl5/lib/perl5
 CPAN CPAN.pm i486の-linux-gnu以下のスレッド·マルチサイト·テストYAML YAML.pm
触媒分光@:〜$ 

彼は現在のユーザのホームで作成したディレクトリツリーにインストールされています。 これはすべて、一度rootのパスワードを求めずに。

結論

rootのパスワードなしでローカルにCPANモジュールをインストールするには、非常に簡単です。 これは、ユーザにのみ権限を持っているマシン、およびサーバーのホスティング上で極めて有用である。

もう一つの利点は、単にすべてのモジュールがそれにインストールされていますので、先ほど作成したディレクトリをコピー(同じアーキテクチャーを持つ)別のマシンにperl5を同じモジュールを取得し、変数をエクスポートするコマンドを追加することであるターゲットマシン上の環境。 あなたは、シェルへのアクセス権を与えるものではありませんホスティングサーバーを使用しているときにも便利です。

リンク(の)作業

コメント

  • http://rio.pm.org SmokeMachine

    私はあなたにビールを借りて!

  • http://rio.pm.org SmokeMachine

    私はあなたにビールを借りて!

  • http://blabos.pip.verisignlabs.com/ blabos

    その後、私にビールを買う!

  • http://blabos.pip.verisignlabs.com/ blabos

    その後、私にビールを買う!

  • ロシアhttp://russoz.wordpress.com/

    Blabosは、だから、私はまたビールを借りています。 ;-) ESの次?

  • ロシアhttp://russoz.wordpress.com/

    Blabosは、だから、私はまたビールを借りています。 ;-) ESの次?

  • マルシオビトー

    Blabos TBは、私は次のESで、多分あなたのビールを借りています。 あなたがこれを書いたことにも静かに続くスクリプトを実行します。

  • マルシオビトー

    Blabos TBは、私は次のESで、多分あなたのビールを借りています。 あなたがこれを書いたことにも静かに続くスクリプトを実行します。

  • CPAN CPANミニミラーを作成するhttp://blog.blabos.org/2010/02/criando-um-mini-mirror-do-cpan-com-o-cpanmini/ ::ミニ:BlabosのブログBlebe

    [...] local :: libを使用してローカルにCPANモジュールをインストールするには、アプリケーションを構成するには、最初のステップは、モジュールがCPAN :: Miniとそのインストールおよび構成するミラーを設定することです[...]を

  • フェルナンド

    ありがとうございました! :)

    同じvlw .. 私はまだもう一つの疑問を持っている.. D私はDebianをフォーマットする必要がある場合は、すべてのこれらの手順の後に.. より多くの私の/ homeを維持.. 私は繰り返し手順を必要とするかどうか?

  • Blebeのhttp://blabos.org Blabos

    まあ、それは異なります。

    あなたはPerl、問題はないのと同じバージョンを使用してシステムを再インストールした場合。

    C言語で書かれたいくつかのモジュールがコンパイルとリンクのPerlでモジュールをインストールするときにそれがインストールされている部品を使用することを覚えています。

    ちょうどポストの主題上の新しいテキストがあることも覚えているPerlがますます簡単に

  • フェルナンド

    vlwww .. Blabos! 私のためにこれを明確に..

分遅れで張るのコメント