PHPプログラマーには、PEARを愛するよりも愛するよりも多くの理由があります。 実際、過去5年間で、リポジトリ内のライブラリもインストーラ自体も実質的に変更されていないようです。
ただし、これまでのところ、PHPライブラリをインストールする最も簡単な方法はPEARを使用することです。 もちろん、これはシステム全体の需要が等しくなることを条件とします。 たとえば、PHPUnitやDocbloxなどの製品はPEARを介してインストールされますが、GitHubリポジトリを複製するなど、他の方法でインストールすることは非常に不便です。
ほとんどの場合、コミュニティと共有したいライブラリがあります。 さて、またはいつかそれが表示されます。 関係ありません 重要なことは、遅かれ早かれ、あなたの製品がたった2つのチームにインストールできることを確認したいということです...
これが紹介です。 さらに、純粋に実用的な推奨事項があります。
それらの1つ:pear.php.netのドキュメントは、役立つだけでなく、害を与えることもあります。 これらのPEAR、PEAR2、Pyrus、PEAR_PackageFileManager2、およびpackage.xml構造をすべて理解することは、原子力発電所のサービス指示を研究することに相当します。 ご覧のとおり、これがすべてなくてもかまいません。 さらに、時間には限りがあり、10分では余分な詳細を調べるのに十分ではありません。 そして何時間も。
私たちは実用主義者、合理主義者、まあ、ただの怠け者です。
たとえば、ホスティングのどこかにPEARサーバーを作成するのは面倒です。 はい、なぜですか? これにGitHubを適応させる方が良いです。
最初にPirumが必要です。 これは軽量のPEARチャネルマネージャーです。
奇妙なことに、PEARからもインストールされます。
$ pear channel-discover pear.pirum-project.org $ pear install pirum/Pirum
GitHubで設定されたサーバー自体は、 github.com / saucelabs / pearで取得できます。
指示に従ってください:
githubでpearリポジトリを作成します。
ローカルリポジトリを作成します。
$ mkdir pear $ cd pear $ git init $ git remote add origin git@github.com:[username]/pear.git
pirum.xml構成ファイルを作成します。
<?xml version="1.0" encoding="UTF-8" ?> <server> <name>[username].github.com/pear</name> <summary>[channel name]</summary> <alias>[shortname]</alias> <url>http://[username].github.com/pear</url> </server>
コマンドを実行します
$ pirum build . $ git add . $ git commit -m "Initial server build"
githubページを装ってgithubリポジトリを注ぎます:
$ git branch -m master gh-pages $ git push origin gh-pages
githubを使用すると静的サイトをホストでき、特別なブランチ(gh-pages)が使用されることを思い出してください。
リポジトリをサーバーにアップロードすると、https:// [ユーザー名] .github.com / pearに新しいチャネルが既に配置されます。
ちなみに、その使用のための指示。 残念なことに、そこにはまだ何も置くことはできません。
この欠陥を修正してください。 ライブラリ用に適切に作成されたpearパッケージが必要です。
Pearfarmユーティリティは、作成に役立ちます。 これはユーティリティであるだけでなく、梨パッケージをホストするサイトでもありますが、残念ながらあまり人気がありません。
実際、Pearfarmに自信があれば、上記の手順を実行する必要はありません。
ただし、ユーティリティ自体は機能し、パッケージをゼロから作成する際の生活を大幅に簡素化します。
インストールしてください...そうです、PEARからも:
$ pear install pearfarm.pearfarm.org/pearfarm
ライブラリがあるディレクトリで、次のコマンドを実行します。
$ pearfarm init
pearfarm.specファイルを作成します。メタパッケージと呼びましょう。 これは基本的に、パッケージを作成するための設定を便利に定義するPHPファイルです。
ここにあります:
<?php $spec = Pearfarm_PackageSpec::create(array(Pearfarm_PackageSpec::OPT_BASEDIR => dirname(__FILE__))) ->setName('[dirname]') ->setChannel('TODO: Release channel here') ->setSummary('TODO: One-line summary of your PEAR package') ->setDescription('TODO: Longer description of your PEAR package') ->setReleaseVersion('0.0.1') ->setReleaseStability('alpha') ->setApiVersion('0.0.1') ->setApiStability('alpha') ->setLicense(Pearfarm_PackageSpec::LICENSE_MIT) ->setNotes('Initial release.') ->addMaintainer('lead', 'TODO: Your name here', 'TODO: Your username here', 'TODO: Your email here') ->addGitFiles() ->addExecutable('[dirname]') ;
すべてのフィールドを入力して入力するだけです。 ライセンスの記入が簡単であることに注意してください! デフォルトでは、gitリポジトリのすべてのファイルがパッケージに含まれます; addExcludeFilesRegex()メソッドを使用してそれらの一部を削除できます。
詳細な設定情報はこちら: pearfarm.org/help/spec
すべてのフィールドに入力した後、梨チャンネルに接続します。
$ pear channel-discover [username].github.com/pear
そして、パッケージを作成します。
$ pearfarm build
そして、すべてがうまくいった場合、出力でpackage.xmlファイル(PEARのパッケージ構成)とアーカイブ内のライブラリの最新ビルドを取得します。
ビルドをサーバーに追加します。
$ pirum add [---pear-] [--]
更新されたサーバーにgithubを入力します。
$ git add . $ git commit -m "first package added" $ git push origin gh-pages
できた! これで、オープンソースライブラリを簡単に公開でき、ローカルWebサーバーの腸でそれらを非表示にする必要がなくなりました。
そして、すべてが機能することを確認するために、行きましょう:
http:// [ユーザー名] .github.com / pear /
そして、パッケージがすでにそこにあることがわかります。 ライブラリをインストールするためのすべてのコマンドもそこにリストされています。
便利なライブラリを作成し、公開し、Habréでそれらについて書いてください。
ご清聴ありがとうございました。
私も注意してください:
-すべてがWindowsで動作します。
-チャネルサーバーの名前に大文字を使用しないでください。 PEARは彼らと友達ではありません。