ホームページ >バックエンド開発 >PHPチュートリアル >Composer はパッケージ管理にイントラネットのプライベート ウェアハウスを使用します

Composer はパッケージ管理にイントラネットのプライベート ウェアハウスを使用します

WBOY
WBOYオリジナル
2016-06-23 13:09:372730ブラウズ

パッケージの依存関係管理に Composer を長期的に使用するため、バージョンを更新するときに、多くのパブリック クラス ライブラリが GitHub に配置され、多くのコストが削減されますが、それでもいくつかのコストが削減されます。問題:

    更新するたびに、単体テストをローカルで実行し、Github にコミットしてプッシュし、Composer が更新されるまで待ってから有効になる必要があります
  • Github に企業レベルのモジュールを配置する方法はありません。
公式ソリューション

幸いなことに、Composer は次の形式でプライベート ウェアハウスを提供しています。上記のプライベート ウェアハウスをインポートする方法では、実際には、指定されたタグが svn checkout を通じてチェックアウトされ、ベンダー ディレクトリに .svn ディレクトリが表示され、メイン プロジェクトを送信できなくなります。タグを切り替えるとチェックアウトできなくなります。

この問題は、Composer プロジェクトの問題で多くの人が報告しています。解決策は、svn checkout の代わりに svn export を使用することです:

https://github.com/LinearSoft/composer- svn-export

新しいソリューション

このプラグインは、packagelist サイトを自分で構築するのと同等ですが、実際には、packages.json ファイルのみが必要ですが、有効な https サービスが必要です。そうでない場合は、次のエラーが発生します。

{ "repositories": [ { "type": "vcs", "url": "http://svn.example.org/projectA/", "trunk-path": "Trunk", "branches-path": "Branches", "tags-path": "Tags" } ]}

そのような https サービスがない場合は、効果を実現するために Gist 上に package.json ファイルを構築することを選択できます:

➜  www.my-project.com composer updateYou are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebugAdded SvnExport repo: NewPackageLoading composer repositories with package information                                                                                                                                               [Composer\Downloader\TransportException]                                                                                                     The "https://packagist.my-project.dev/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:    error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed                                                            Failed to enable crypto                                                                                                                      failed to open stream: operation failed         

メイン プロジェクトの Composer.json に Gist アドレスを入力します

{ "packages": { "tc/analyse": { "0.9.2": { "name": "tc/analyse", "version": "0.9.2", "source": { "type": "svn", "url": "https://svn.tc.dev/library/analyse", "reference": "/tags/0.9.2" } }, "0.9.3": { "name": "tc/analyse", "version": "0.9.3", "source": { "type": "svn", "url": "https://svn.tc.dev/library/analyse", "reference": "/tags/0.9.3" } }, "dev-master": { "name": "tc/analyse", "version": "dev-master", "source": { "type": "svn", "url": "https://svn.tc.dev/library/analyse", "reference": "/trunk" } } } }}

Composer アップデートを実行

{ "require" : { "php" : ">=5.4.0", "tc/analyse" : "0.9.3", "linearsoft/composer-svn-export" : "^0.1.2" }, "extra" : { "svn-export-repositories" : [ { "name" : "TC", "type" : "composer", "url" : "https://gist.githubusercontent.com/lancerhe/379eeee89fd0db8c0c4ca19c6bddas2f/raw/915a720635949c9d4013746845b952f88af358db" } ] }, "minimum-stability" : "stable"}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。