Как разрешить Laravel RuntimeException в Docker контейнере - PullRequest
0 голосов
/ 08 января 2020

Я использую PHP версию 7.3 внутри Docker контейнера, используя пользователя root.

Я не могу запустить composer upgrade, так как это может нарушить зависимости.

Я не могу сказать, к какому каталогу PHP пытается получить доступ; Я пытался удалить каталог vendor: это не помогло.

Проблема в том, что когда я запускаю php artisan -v common:create-phpunit-config в каталоге root (/) моей версии Ubuntu 16.04 контейнер, я получаю сообщение об ошибке ниже:

Symfony \ Component \ Process \ Exception \ RuntimeException: предоставленный cwd "" не существует. at /vendor/symfony/process/Process.php:334 330| } 331| } 332| 333| if (!is_dir($this->cwd)) { 334| throw new RuntimeException(sprintf('The provided cwd "%s" does not exist.', $this->cwd)); 335| } 336| 337| $this->process = proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs, $options); 338|

Ожидаемое поведение:

Выполнить php artisan -v common:create-phpunit-config без ошибок.

composer. json Файл:

{
   "name": "test/proj",
   "description": "Test application",
   "type": "project",
   "license": "proprietary",
   "require": {
      "php": ">=7.2.1",
      "ext-SimpleXML": "*",
      "ext-bcmath": "*",
      "ext-dom": "*",
      "ext-filter": "*",
      "ext-hash": "*",
      "ext-json": "*",
      "ext-libxml": "*",
      "ext-openssl": "*",
      "ext-session": "*",
      "ext-soap": "*",
      "abraham/twitteroauth": "^1.0",
      "barryvdh/laravel-translation-manager": "^0.5.3",
      "beberlei/doctrineextensions": "^1.0",
      "bjeavons/zxcvbn-php": "^0.4.0",
      "browscap/browscap-php": "^4.1",
      "cloudipsp/php-sdk-v2": "^1.0",
      "doctrine/dbal": "^2.7",
      "fideloper/proxy": "~4.0",
      "gedmo/doctrine-extensions": "^2.4",
      "germey/geetest": "^3.0",
      "guzzlehttp/guzzle": "^6.3",
      "imangazaliev/didom": "^1.13",
      "irazasyed/laravel-gamp": "^1.3",
      "irazasyed/telegram-bot-sdk": "^3.0",
      "laravel-doctrine/extensions": "^1.0",
      "laravel-doctrine/migrations": "^1.1",
      "laravel-doctrine/orm": "^1.4",
      "laravel/framework": "5.8.*",
      "laravel/helpers": "^1.0",
      "laravel/tinker": "~1.0",
      "laravelcollective/html": "^5.8",
      "league/flysystem-aws-s3-v3": "^1.0",
      "myclabs/php-enum": "^1.7",
      "nesbot/carbon": "^2",
      "nwidart/laravel-modules": "^5.0",
      "paragonie/constant_time_encoding": "^2.2",
      "pda/pheanstalk": "~4.0",
      "phpseclib/phpseclib": "~2.0",
      "pragmarx/google2fa-laravel": "^0.2.0",
      "predis/predis": "^1.1",
      "propa/laravel-browscap": "^2.0",
      "ramsey/uuid": "^3.8",
      "sendpulse/rest-api": "^1.0",
      "sentry/sentry-laravel": "^1.0",
      "spatie/laravel-fractal": "^5.3",
      "symfony/finder": "^4.1",
      "vlucas/phpdotenv": "^3.4"
   },
   "require-dev": {
      "barryvdh/laravel-debugbar": "^3.2.4",
      "barryvdh/laravel-ide-helper": "^2.4",
      "dg/bypass-finals": "^1.1",
      "doctrine/coding-standard": "^6.0",
      "filp/whoops": "~2.0",
      "fzaninotto/faker": "~1.4",
      "laravel/telescope": "^2.0",
      "mockery/mockery": "~1.0",
      "nunomaduro/collision": "^3.0",
      "phpspec/prophecy": "^1.8.1",
      "phpunit/php-code-coverage": "^7.0.5",
      "phpunit/phpunit": "^8",
      "psalm/plugin-laravel": "^0.4.0",
      "psalm/plugin-phpunit": "^0.6.0",
      "sebastian/global-state": "^3",
      "vimeo/psalm": "^3.4",
      "mysite/code-style-conventions": "^0.2.0"
   },
   "autoload": {
      "classmap": [
         "database/seeds",
         "database/factories"
      ],
      "psr-4": {
         "App\\": "app/",
         "Modules\\": "Modules/",
         "App\\Doctrine\\Entity\\": "app/Doctrine/Mappings/App/Doctrine/Entity"
      }
   },
   "autoload-dev": {
      "psr-4": {
         "Tests\\": "tests/"
      }
   },
   "extra": {
      "laravel": {
         "dont-discover": [
            "nwidart/laravel-modules"
         ]
      }
   },
   "scripts": {
      "test": "phpdbg -qrr ./vendor/bin/phpunit",
      "tests-with-coverage": "php artisan common:create-phpunit-config && phpdbg -qrr -d memory_limit=-1 ./vendor/bin/phpunit --filter Unit --coverage-text --colors=never",
      "ci-flow": [
         "@composer validate --ansi",
         "@php artisan common:phpcs --ansi",
         "phpdbg -qrr -d memory_limit=-1 ./vendor/bin/phpunit --filter Unit",
         "phpdbg -qrr -d memory_limit=-1 ./vendor/bin/phpunit --filter Feature"
      ],
      "post-create-project-cmd": [
         "@php artisan key:generate"
      ],
      "post-autoload-dump": [
         "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
         "@php artisan package:discover"
      ],
      "post-update-cmd": [
         "Illuminate\\Foundation\\ComposerScripts::postUpdate",
         "php artisan ide-helper:generate",
         "php artisan ide-helper:meta"
      ]
   },
   "config": {
      "preferred-install": "dist",
      "sort-packages": true,
      "optimize-autoloader": true,
      "classmap-authoritative": true
   },
   "minimum-stability": "dev",
   "prefer-stable": true,
   "repositories": [
      {
         "type": "composer",
         "url": "https://mysite"
      }
   ]
}

1 Ответ

0 голосов
/ 09 января 2020

Таким образом, проблема заключалась в том, что я использовал каталог root во время тестирования. Я не знаю, почему php ремесленник (часть моего composer. json) не любит это, но это решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...