私は次のものを持っていますcomposer.json
:
{
"require": {
"php": ">=5.2.0",
"queueit/KnownUser.V3.PHP": "dev-master"
},
"config": {
"autoloader-suffix": "ComposerManager",
"vendor-dir": "../../../all/libraries/composer"
},
"prefer-stable": true,
"repositories": [
{
"type": "package",
"package": {
"name": "queueit/KnownUser.V3.PHP",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/queueit/KnownUser.V3.PHP.git",
"reference": "master"
}
}
}
]
}
しかし、私が実行すると:
$ composer -vvv update
...
Cloning master
Executing command (CWD): git clone --no-checkout 'https://github.com/queueit/KnownUser.V3.PHP.git' '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && cd '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && git remote add composer 'https://github.com/queueit/KnownUser.V3.PHP.git' && git fetch composer
クローン作成プロセスには非常に長い時間がかかり、リポジトリのサイズが 25 MB を超えます。
$ du -hs ~/.composer/cache/vcs/https---github.com-queueit-KnownUser.V3.PHP.git/
25M ~/.composer/cache/vcs/https---github.com-queueit-KnownUser.V3.PHP.git/
次に、Composer はタイムアウトで停止します。
[Symfony\Component\Process\Exception\ProcessTimedOutException]
プロセス "git clone --no-checkout 'https://github.com/queueit/KnownUser.V3.PHP.git' '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && cd '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && git remote add composer 'https://github.com/queueit/KnownUser.V3.PHP.git' && git fetch composer
" が 300 秒のタイムアウトを超えました。
リポジトリが大きすぎて、すべての git オブジェクトを複製できないと思います。
浅いクローンを使用してリポジトリをより迅速にクローンするにはどうすればよいですか?
たとえば、余分なパラメーター--depth 1
または--single-branch
git パラメーターを Git コマンドに渡すと、Composer によって自動的に取得されますか?
変更はファイル内で自己完結していると予想されるcomposer.json
ため、他のシステムでこのファイルを呼び出したとき、または実行時に他のユーザーがこのファイルを呼び出したときに、外部構成は必要ありませんcomposer install
。