Execute the command: docker exec -t object-fpm composer install -vvv, an error is reported:[RuntimeException]Git was not found in your path, skipping source download
1. Execute the command: docker exec -t object-fpm composer install -vvv, an error is reported:[RuntimeException]Git was not found in your path, skipping source download. as shown in Figure 1
Executing command (CWD): rm -rf '/object/vendor/ua-parser/uap-php'
[RuntimeException]
git was not found in your PATH, skipping source download
Exception trace:
() at phar:///usr/local/bin/composer/src/Composer/Downloader/GitDownloader.php:75
Composer\Downloader\GitDownloader->doDownload() at phar:///usr/local/bin/composer/src/Composer/Downloader/VcsDownloader.php:73
Composer\Downloader\VcsDownloader->download() at phar:///usr/local/bin/composer/src/Composer/Downloader/DownloadManager.php:224
Composer\Downloader\DownloadManager->Composer\Downloader\{closure}() at phar:///usr/local/bin/composer/src/Composer/Downloader/DownloadManager.php:217
Composer\Downloader\DownloadManager->Composer\Downloader\{closure}() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/RejectedPromise.php:25
React\Promise\RejectedPromise->then() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:74
React\Promise\Deferred->React\Promise\{closure}() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:166
React\Promise\Deferred->processQueue() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:95
React\Promise\Deferred->resolve() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:104
React\Promise\Deferred->reject() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/RejectedPromise.php:25
React\Promise\RejectedPromise->then() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:76
React\Promise\Deferred->React\Promise\{closure}() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:166
React\Promise\Deferred->processQueue() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:95
React\Promise\Deferred->resolve() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:104
React\Promise\Deferred->reject() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/RejectedPromise.php:25
React\Promise\RejectedPromise->then() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:76
React\Promise\Deferred->React\Promise\{closure}() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:166
React\Promise\Deferred->processQueue() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:95
React\Promise\Deferred->resolve() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:104
React\Promise\Deferred->reject() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/RejectedPromise.php:25
React\Promise\RejectedPromise->then() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:76
React\Promise\Deferred->React\Promise\{closure}() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:166
React\Promise\Deferred->processQueue() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:95
React\Promise\Deferred->resolve() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Deferred.php:104
React\Promise\Deferred->reject() at phar:///usr/local/bin/composer/vendor/react/promise/src/React/Promise/Promise.php:45
React\Promise\Promise->React\Promise\{closure}() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/src/Composer/Util/Http/CurlDownloader.php:526
Composer\Util\Http\CurlDownloader->rejectJob() at phar:///usr/local/bin/composer/src/Composer/Util/Http/CurlDownloader.php:380
Composer\Util\Http\CurlDownloader->tick() at phar:///usr/local/bin/composer/src/Composer/Util/HttpDownloader.php:375
Composer\Util\HttpDownloader->countActiveJobs() at phar:///usr/local/bin/composer/src/Composer/Util/Loop.php:93
Composer\Util\Loop->wait() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:457
Composer\Installer\InstallationManager->waitOnPromises() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:340
Composer\Installer\InstallationManager->downloadAndExecuteBatch() at phar:///usr/local/bin/composer/src/Composer/Installer/InstallationManager.php:267
Composer\Installer\InstallationManager->execute() at phar:///usr/local/bin/composer/src/Composer/Installer.php:707
Composer\Installer->doInstall() at phar:///usr/local/bin/composer/src/Composer/Installer.php:249
Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/InstallCommand.php:136
Composer\Command\InstallCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:310
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:122
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:63
require() at /usr/local/bin/composer:24
install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-scripts] [--no-progress] [--no-install] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] []...
wangqiang@DESKTOP-QLPK8QM:/mnt/e/wwwroot/xgrit/object$
2. Due to the use of the Alpine base image. Edit Dockerfile , add: apk add –no-cache git . as shown in Figure 2
3. After building the container, execute the command: docker exec -t object-fpm composer install -vvv, error again: error: cannot run ssh: no such file or directory. However, Git-related errors have been resolved. as shown in Figure 3
Executing command (CWD): rm -rf '/object/vendor/ua-parser/uap-php'
[RuntimeException]
Failed to execute git clone --mirror -- 'git@git.xxx.com:xgrit/nova.git' '/root/.composer/cache/vcs/git-git.xxx.com-xgrit-nova.git/'
Cloning into bare repository '/root/.composer/cache/vcs/git-git.xxx.com-xgrit-nova.git'...
error: cannot run ssh: No such file or directory
fatal: unable to fork
Exception trace:
![执行命令:docker exec -t object-fpm composer install -vvv,报错:[RuntimeException] git was not found in your PATH, skipping source download。](https://www.shuijingwanwq.com/wp-content/uploads/2022/01/1-4.png)

