Проблемы с composer зависимостями в Google Cloud - PullRequest
0 голосов
/ 12 апреля 2020

Я работаю над проектом много месяцев, но я меняю свой компьютер и пытаюсь клонировать проект и запускать 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, и каждое развертывание было успешным, я пытался клонировать и развернуть на другом компьютере, и я получаю тот же результат

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