web-dev-qa-db-ja.com

composerプライベートリポジトリからのプロジェクトの作成

Bit Bucketでホストされているプラ​​イベートプロジェクトがあります。 SSHキーを設定しています。 Packagistの場合と同じようにphp composer create-project vendor/name pathコマンドを使用する方法はありますか?

21
Luke Snowden

これを実現する方法はいくつかあります。composerリポジトリはpackagist.orgの代わりに使用されます。これは、プライベートを管理するより集中化された方法ですcomposerパッケージもう1つの方法は、環境ごとに、環境内にプライベートリポジトリを組み込むcomposer.jsonを使用することです。

最初

Composerでは、プライベートリポジトリを使用してプロジェクトを作成できます。

そのようです...

composer create-project vendor/name path --repository-url=http://repo.yourcomposerrepo.com

あなたはpackagistにプライベートパッケージを提出しないので。そのURLには最低でもpackages.jsonファイルが必要ですが、 satis または独自の packagist packages.jsonに対してより動的なソリューションが必要な場合。

Composer.jsonを使用する方法は、プライベートパッケージからカスタムリポジトリを使用する、すでに作成されているプロジェクトに適用されます。プライベートリポジトリから新しいプロジェクトを作成する場合には適用されません。同様のルートをたどる場合は、次の方法を使用します。

二番目

config.json にプライベートリポジトリを環境に合わせてグローバルに設定します。その後、通常のように。

composer create-project vendor/name path
22
riotCode

はい、 Composerではプライベートプロジェクトを「リポジトリ」として追加できます をcomposer.jsonファイルに追加できます。したがって、プライベートプロジェクトを別のプロジェクトに含めることができます。

GitHubとBitbucketのサポートを提供します (およびSVNとMercurial)。

Composer.jsonファイルを次のように変更する必要があります。

{
    "repositories": [ {
        "type": "package",
        "package": {
            "name": "TheShiftExchange/test",
            "version": "1.0.0",
            "source": {
                "url": "https://github.com/TheShiftExchange/test.git",
                "type": "git",
                "reference": "master"
              }
         }
    }],
    "require": {
        "laravel/framework": "4.0.*",
        "TheShiftExchange/test": "1.0.*"
    },
}
16
Laurence

Toran Proxy( https://toranproxy.com/ )がプライベートパッケージャーとしてインストールされているため、以下のコマンドを使用してプロジェクトを作成できます

composer create-project vendor/framework --repository-url=http://your-toran-repo-url/repo/private/ --stability=dev project name

プロジェクトにタグが付けられていない場合、または最先端のEdgeバージョンを探している場合に使用する安定性バージョン。

--stability=dev
3
iswak

私が以前使用した方法:

composer create-project vendor/name path --repository="{\"url\": \"https://bitbucket.org/user/project.git\", \"type\": \"vcs\"}" --stability=dev --remove-vcs

リファレンス: https://getcomposer.org/doc/03-cli.md#create-project

2
iruwl

この投稿にはある程度の牽引力があるため、私が使用する別のソリューションを追加したいと思いました。 〜/ .bash_profileを開きます

のようなものを追加します

function _cmsname {
    composer create-project vendor/package --repository-url=http://private.repo.url.co.uk/ --stability=dev "$1"
}
alias cmsname=_cmsname

そしてちょうどタイプcmsname projectnameターミナル。

1
Luke Snowden