Я работаю над проектом много месяцев, но я меняю свой компьютер и пытаюсь клонировать проект и запускать composer update
, и все отлично работает локально, но когда я пытаюсь развернуть в Google Cloud (сделано много раз раньше ) Я получил ошибку
Я почти ежедневно развертывал изменения, но когда я извлекаю изменения, на моем новом компьютере появляется ошибка, и я проверяю журнал сборки на наличие ошибок (из Google Cloud), и я получаю это
Problem 1
- Installation request for ocramius/package-versions 1.8.0 -> satisfiable by ocramius/package-versions[1.8.0].
- ocramius/package-versions 1.8.0 requires php ^7.4.0 -> your PHP version (7.3.9) does not satisfy that requirement.
Problem 2
- ocramius/package-versions 1.8.0 requires php ^7.4.0 -> your PHP version (7.3.9) does not satisfy that requirement.
- backpack/crud 4.0.59 requires ocramius/package-versions ^1.4 -> satisfiable by ocramius/package-versions[1.8.0].
Я понял, что за несколько месяцев до запуска "php": "^7.2",
, а затем изменился на "php": "^7.3",
из-за composer update
. Но я мог развернуть даже с 7.3.
Я пытался вручную изменить composer.json
с: "php": "^7.3",
на "php": "^7.2",
, но не сработал, теперь я не получаю ту же ошибку (сборка журнала для ошибок из Google Cloud). Вот что я на самом деле получил:
Step #1 - "builder": - Installing superbalist/flysystem-google-storage (7.2.2): Downloading (100%)
Step #1 - "builder": - Installing superbalist/laravel-google-cloud-storage (2.2.3): Downloading (100%)
Step #1 - "builder": Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.
Step #1 - "builder": Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead.
Step #1 - "builder": Generating optimized autoload files
Step #1 - "builder": > Illuminate\Foundation\ComposerScripts::postAutoloadDump
Step #1 - "builder": > @php artisan package:discover --ansi
Step #1 - "builder": Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
Step #1 - "builder":
Step #1 - "builder": error: `composer_install` returned code: 1
Step #1 - "builder": Traceback (most recent call last):
Step #1 - "builder": File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
Step #1 - "builder": "__main__", fname, loader, pkg_name)
Step #1 - "builder": File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
Step #1 - "builder": exec code in run_globals
Step #1 - "builder": File "/usr/local/bin/ftl.par/__main__.py", line 65, in <module>
Step #1 - "builder": File "/usr/local/bin/ftl.par/__main__.py", line 57, in main
Step #1 - "builder": File "/usr/local/bin/ftl.par/__main__/ftl/common/ftl_error.py", line 58, in UserErrorHandler
Step #1 - "builder": IOError: [Errno 2] No such file or directory: '""/output'
Finished Step #1 - "builder"
ERROR
ERROR: build step 1 "gcr.io/gae-runtimes/php73_app_builder:php73_20200223_7_3_14_RC00" failed: step exited with non-zero status: 1
Я пытался удалить проект, снова клонировать его, запустить composer install
и composer update
, но ничего не помогло.
Вот мой фактический composer.json
:
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^7.3",
"backpack/crud": "4.0.*",
"backpack/generators": "^2.0",
"barryvdh/laravel-elfinder": "^0.4.3",
"cviebrock/eloquent-sluggable": "^6.0",
"facade/ignition": "1.11.1",
"fideloper/proxy": "^4.0",
"google/cloud-error-reporting": "^0.15.0",
"google/cloud-logging": "^1.18",
"guzzlehttp/guzzle": "^6.5",
"intervention/image": "^2.5",
"laracasts/generators": "^1.1",
"laravel/framework": "^6.0",
"laravel/tinker": "^1.0",
"laraveles/spanish": "^1.4",
"league/flysystem-aws-s3-v3": "^1.0",
"paypal/rest-api-sdk-php": "^1.14",
"srmklive/paypal": "~1.0",
"superbalist/laravel-google-cloud-storage": "^2.2"
},
"require-dev": {
"fzaninotto/faker": "^1.4",
"laravel/ui": "^1.1",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^3.0",
"phpunit/phpunit": "^8.0"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
],
"files": [
"app/Support/helpers.php"
]
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
}
А вот мой app.yaml
:
runtime: php73
env_variables:
## Put production environment variables here.
APP_NAME: MyProject
APP_ENV: local
APP_KEY: 'appkey'
APP_DEBUG: true
APP_URL: https://myproject.com
FORCE_SSL: true
LOG_CHANNEL: stackdriver
BROADCAST_DRIVER: log
CACHE_DRIVER: database
QUEUE_CONNECTION: sync
SESSION_DRIVER: database
SESSION_LIFETIME: 120
FILESYSTEM_DRIVER: google
APP_STORAGE: /tmp
VIEW_COMPILED_PATH: /tmp
APP_SERVICES_CACHE: /tmp/services.php
APP_PACKAGES_CACHE: /tmp/packages.php
APP_CONFIG_CACHE: /tmp/config.php
APP_ROUTES_CACHE: /tmp/routes.php
handlers:
# All URLs beginning with /stylesheets are treated as paths to
# static files in the stylesheets/ directory.
- url: /css
static_dir: public/css
- url: /favicon
static_dir: public/favicon
- url: /fonts
static_dir: public/fonts
- url: /images
static_dir: public/images
- url: /img
static_dir: public/img
- url: /js
static_dir: public/js
- url: /svg
static_dir: public/svg
- url: /vendor
static_dir: public/vendor
- url: /packages
static_dir: public/packages
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto
Просто чтобы упомянуть, я развертывал на своем старом компьютере с тем же composer.json
и тем же app.yaml
, и каждое развертывание было успешным, я пытался клонировать и развернуть на другом компьютере, и я получаю тот же результат