キーポイント
composer.json
ファイルにプライベートリポジトリを追加できます。これにより、パッケージを使用するたびに別のリポジトリを追加することなく、Gemfuryで作成したプライベートコンポーザーパッケージを使用できます。 sudo gem install gemfury
。 あなたが作曲家に精通していると仮定してください、これは最新かつおそらく最高のPHPパッケージマネージャーです。そうでない場合は、アレクサンダーの紹介をチェックしてください。すぐに惹かれると確信しています。この記事を最大限に活用するには、その実用的な知識が必要です。
Composerは、包括的な公開パッケージリポジトリであるPackagistで効率的かつシームレスに動作します。
ただし、遅かれ早かれ、自分で書いたパッケージに遭遇します。何らかの理由でオープンソースになり、パッカギストを介して無料で共有できません。
これらのプライベートパッケージをホストするためのいくつかのオプションがあります。パッケージのリポジトリを個別に追加することにより、プロジェクトのcomposer.json
ファイルを構成できます。または、Satisを使用すると、独自の静的リポジトリを生成できます。あるいは、Toran Proxyを使用すると、パッカギストの自己ホストのプライベートバージョンを作成することができます。これは、一度設定されると、composer.json
でリポジトリを指定するよりも管理しやすいものです。
gemfuryはPAASの代替品です。ホストされたソリューションは、PHP作曲家パッケージだけでなく、Ruby Gems、node.js NPM、Python Pypi、Apt、Yum、およびNuもサポートするという大きな利点であるという心の安らぎ(支払う必要がありますが) -得る。これは、複数の言語がある場合に非常に便利です。
使い方に飛び込みましょう。
アカウントを設定します
まず、アカウントが必要です。 14日間の試用期間があり、無料のアカウントが1つのコラボレーターとホスティングパッケージに限定されており、その他のさまざまなプランが月額9ドルから始まります。
メールアドレスまたはgithubアカウントを使用して登録できます。登録するためにウェブサイトにアクセスしてください。
最初のパッケージを作成します
プライベート作曲家パッケージにGemfuryを使用する方法を示すために、後で他のプロジェクトで使用するためにサービスに提出する段階的にパッケージを作成しましょう。
新しいパッケージを作成する最も簡単な方法は、次のコマンドを使用することです。
composer init
一連の質問をします。このプロセスの例は次のとおりです
<code>... (此处省略与原文相同的composer init交互过程) ...</code>
次に、新しく作成された
に行を追加し、パッケージのソースコードをどこで見つけるかを伝えましょう。 composer.json
"autoload": { "psr-0": { "Acme\": "src/" } },
ワーキングディレクトリで、
およびsrc
ディレクトリを作成してから、次のファイルを作成しますsrc/Acme
:Coupon.php
<?php namespace Acme; use Faker\Factory; class Coupon { public static function generate($percent) { $faker = Factory::create(); return sprintf('%s-%s-%d', strtoupper(date('M')), strtoupper($faker->word()), intval($percent)); } }
composer install
これは私たちが構築したパッケージです。次に、Gemfuryにアップロードします。
続行するには、APIキーが必要です。ダッシュボードに行くと、設定の下にあります。
パッケージを構築してアップロードする最も簡単な方法は、Gitを使用してGemfuryに残りを処理できるようにすることです。
最初に次のコンテンツを使用して
ファイルを作成します。
今すぐリポジトリを初期化:.gitignore
<code>vendor/ composer.lock</code>
git init
git add src git add composer.json
gemfuryユーザー名に置き換えてください(githubに登録する場合は、githubユーザー名と同じになります)。
この時点で、2つの選択肢があります。 1つ目は、以下に示すように、<code>https://your-username@git.fury.io/your-username/<package-name>.git</code>
your-username
git remote add fury https://your-username@git.fury.io/your-username/coupon.git
composer.json
または、gitタグを使用できます。たとえば、以下に示すように、タグを使用して新しいバージョンを作成します。
{ "name": "your-username/coupon", "description": "Generates a coupon code", "version": "1.0.0", ...
最後に、次のコマンドを実行します:
これにより、コードがGemfuryにプッシュされ、それが自動的にパッケージに組み込まれます。
git tag -a 1.0.0 -m "Version 1.0.0"
プライベートパッケージを使用して
git commit -a -m "Initial commit"
ダッシュボードに戻り、左側の「レポス」を選択すると、プライベートリポジトリURLがあります。これはプライベートに保つ必要があるので、安全に保つことができます。次のようになります:
git push fury master --tags
それを予測不可能にしているので、実際にはプライベートです。
今すぐプロジェクトに追加してください
:composer init
Gemfuryで作成したプライベートコンポーザーパッケージを使用するには、この1つのリポジトリを追加する必要があります。パッケージを使用するたびに、別のリポジトリを追加する必要はありません。
パッケージストで行うように、プライベートパッケージが必要になります。これがプロジェクトの完全な例ですcomposer.json
:
<code>... (此处省略与原文相同的composer init交互过程) ...</code>
その他の方法
個人的には、gitとタグを使用することがパッケージを管理する最も簡単で効果的な方法であると思います。または、必要に応じて、パッケージのソースコードをzippedし、Gemfuryダッシュボードにアップロードすることで自分で構築できます。
コマンドラインツール
Gemfuryはコマンドラインツールも提供します。それをインストールするには:
"autoload": { "psr-0": { "Acme\": "src/" } },
特定のパッケージのバージョンを表示するには、
<?php namespace Acme; use Faker\Factory; class Coupon { public static function generate($percent) { $faker = Factory::create(); return sprintf('%s-%s-%d', strtoupper(date('M')), strtoupper($faker->word()), intval($percent)); } }
CLIの詳細については、ドキュメントの関連セクションをご覧ください。
<code>vendor/ composer.lock</code>
この記事では、プライベートリポジトリを管理するための多くのオプションの1つであるGemfuryを紹介します。 PAASソリューションとして、Toranのような自己ホストオプションの余分な負担は必要ありません。SATISよりも使いやすいです。また、PHP Composer PackagesからRuby GemsやNode.js NPMまで、さまざまな言語でパッケージをサポートするという大きな利点があります。もちろん、PaaSソリューションとして、それはそれを支払う必要がありますが、無料の試用版または無料の単一パッケージプランで試してみてください。
(元のFAQの部分はここでは省略されています。この部分はよくある質問であり、記事の主要な内容を高い繰り返しであり、その価値は擬似オリジナリティの後には高くありません。)
以上がGemfuryとのプライベート作曲家パッケージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。