Git Product home page Git Product logo

Comments (10)

jimcottrell avatar jimcottrell commented on August 20, 2024 2

@wodka According to the composer.lock you posted, for your plugin you're getting v5.6 of illuminate/contracts, which defines QueueableCollection::getQueueableRelations from your posted error message. OctoberCMS is written against Laravel v5.5 though, which does not have that function in the QueueableCollection contract. If running composer install on image build is correcting your issue, I assume you must be ending up with a 5.5 version autoloading and your plugin's dependency code never loaded, but the real fix would be to ensure that your plugin defines dependencies compatible with October.

from docker-octobercms.

wodka avatar wodka commented on August 20, 2024 1

@jimcottrell thank you - did not realize that

from docker-octobercms.

petehalverson avatar petehalverson commented on August 20, 2024

@wodka I'm not able to recreate the issue you're describing. Can you provide a bit more information?

Perhaps the command you're using to start the container or a docker-compose.yml?

Since the /vendor folder is baked into the image, I'm guessing it's been overwritten somehow. Do you have any volumes mounted? Are you replacing any files on start?

from docker-octobercms.

wodka avatar wodka commented on August 20, 2024

I use the image in Amazon ECS - there I'm mounting 3 volumes:

app -> /var/www/html/storage/app
plugins -> /var/www/html/plugins
themes -> /var/www/html/themes

the plugins folder contains 2 plugins - one with an additional Vendor folder (I'm not sure if that is connected to the problem)

right now I use the following Dockerfile for it to work on ecs:

FROM aspendigital/octobercms:php7.2-apache

RUN composer install -o

from docker-octobercms.

petehalverson avatar petehalverson commented on August 20, 2024

Yeah, I'm curious if it's just the plugin missing some vendor code. I added a flag for the entrypoint script to trigger a composer install at startup within plugin folders.

Try using ENV INIT_PLUGINS=true instead.

true runs composer install in plugins folders where no 'vendor' folder exists. force runs composer install regardless. Helpful when using git submodules for plugins.

Here's some info regarding the environment variables which trigger actions run by the entrypoint script at runtime.

from docker-octobercms.

wodka avatar wodka commented on August 20, 2024

This is sadly something I already tried (with true and force) - running composer install inside each of the plugins does not make a difference.

Only running it on /var/www/html works :/

from docker-octobercms.

petehalverson avatar petehalverson commented on August 20, 2024

Hmm. Can you provide the verbose output from the composer install RUN composer install -vvv -o?

from docker-octobercms.

wodka avatar wodka commented on August 20, 2024

here it is the full output of the docker build with RUN composer install -vvv -o

show output

Sending build context to Docker daemon  6.656kB
Step 1/3 : FROM aspendigital/octobercms:php7.2-apache
 ---> ce00ca0b68f4
Step 2/3 : RUN apt-get update && apt-get install -y libxml2-dev && docker-php-ext-install xmlrpc
 ---> Using cache
 ---> e2152647b058
Step 3/3 : RUN composer install -vvv -o
 ---> Running in 4ba7cde87ca9
Reading ./composer.json
Loading config file ./composer.json
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/var/www/html): git branch --no-color --no-abbrev -v
Executing command (/var/www/html): git describe --exact-match --tags
Executing command (/var/www/html): git log --pretty="%H" -n1 HEAD
Executing command (/var/www/html): hg branch
Executing command (/var/www/html): fossil branch list
Executing command (/var/www/html): fossil tag list
Executing command (/var/www/html): svn info --xml
Reading /root/.composer/composer.json
Loading config file /root/.composer/composer.json
Reading /var/www/html/vendor/composer/installed.json
Reading /root/.composer/vendor/composer/installed.json
Loading plugin Composer\Installers\Plugin
Loading plugin Wikimedia\Composer\MergePlugin
Loading plugin Hirak\Prestissimo\Plugin
  [merge-plugin] Loading plugins/october/demo/composer.json...
  [merge-plugin] Deferring duplicate php
  [merge-plugin] Merging composer/installers
Running 1.8.0 (2018-12-03 10:31:16) with PHP 7.2.14 on Linux / 4.9.125-linuxkit
Reading ./composer.lock
  [merge-plugin] Already merged plugins/october/demo/composer.json completely
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Reading ./composer.lock
  [merge-plugin] Adding dependency october/demo-plugin requires php (>= 5.4.0.0-dev)
Resolving dependencies through SAT
Looking at all rules.

Dependency resolution completed in 0.003 seconds
Analyzed 216 packages to resolve dependencies
Analyzed 662 rules to resolve dependencies
Nothing to install or update
Generating optimized autoload files
  [merge-plugin] Already merged plugins/october/demo/composer.json completely
Removing intermediate container 4ba7cde87ca9
 ---> 88a5f0fc1fef
Successfully built 88a5f0fc1fef

from docker-octobercms.

petehalverson avatar petehalverson commented on August 20, 2024

Thanks. Can you share the composer.lock from that plugin with a vendor folder?

from docker-octobercms.

wodka avatar wodka commented on August 20, 2024

yes, here it is the content of the composer.lock file of the one plugin:

show content

{
    "_readme": [
        "This file locks the dependencies of your project to a known state",
        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
        "This file is @generated automatically"
    ],
    "content-hash": "fe1293f13b7ba7df4ec89135f7976666",
    "packages": [
        {
            "name": "doctrine/inflector",
            "version": "v1.3.0",
            "source": {
                "type": "git",
                "url": "https://github.com/doctrine/inflector.git",
                "reference": "5527a48b7313d15261292c149e55e26eae771b0a"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a",
                "reference": "5527a48b7313d15261292c149e55e26eae771b0a",
                "shasum": ""
            },
            "require": {
                "php": "^7.1"
            },
            "require-dev": {
                "phpunit/phpunit": "^6.2"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.3.x-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Roman Borschel",
                    "email": "[email protected]"
                },
                {
                    "name": "Benjamin Eberlei",
                    "email": "[email protected]"
                },
                {
                    "name": "Guilherme Blanco",
                    "email": "[email protected]"
                },
                {
                    "name": "Jonathan Wage",
                    "email": "[email protected]"
                },
                {
                    "name": "Johannes Schmitt",
                    "email": "[email protected]"
                }
            ],
            "description": "Common String Manipulations with regard to casing and singular/plural rules.",
            "homepage": "http://www.doctrine-project.org",
            "keywords": [
                "inflection",
                "pluralize",
                "singularize",
                "string"
            ],
            "time": "2018-01-09T20:05:19+00:00"
        },
        {
            "name": "edujugon/laradoo",
            "version": "1.1.1",
            "source": {
                "type": "git",
                "url": "https://github.com/Edujugon/laradoo.git",
                "reference": "e4fdb52a8c25fc84294428a72607db2f1c236af1"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/Edujugon/laradoo/zipball/e4fdb52a8c25fc84294428a72607db2f1c236af1",
                "reference": "e4fdb52a8c25fc84294428a72607db2f1c236af1",
                "shasum": ""
            },
            "require": {
                "illuminate/support": "^5.1"
            },
            "require-dev": {
                "phpunit/phpunit": "~4.8"
            },
            "type": "library",
            "autoload": {
                "psr-4": {
                    "Edujugon\\Laradoo\\": "src/"
                },
                "files": [
                    "src/Support/helpers.php"
                ],
                "classmap": [
                    "src/ripcord"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Eduardo Marcos",
                    "email": "[email protected]"
                }
            ],
            "description": "Odoo ERP API for Laravel",
            "keywords": [
                "ERP",
                "laravel",
                "odoo",
                "package"
            ],
            "time": "2017-06-04T15:41:57+00:00"
        },
        {
            "name": "illuminate/contracts",
            "version": "v5.6.16",
            "source": {
                "type": "git",
                "url": "https://github.com/illuminate/contracts.git",
                "reference": "322ec80498b3bf85bc4025d028e130a9b50242b9"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/illuminate/contracts/zipball/322ec80498b3bf85bc4025d028e130a9b50242b9",
                "reference": "322ec80498b3bf85bc4025d028e130a9b50242b9",
                "shasum": ""
            },
            "require": {
                "php": "^7.1.3",
                "psr/container": "~1.0",
                "psr/simple-cache": "~1.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "5.6-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Illuminate\\Contracts\\": ""
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Taylor Otwell",
                    "email": "[email protected]"
                }
            ],
            "description": "The Illuminate Contracts package.",
            "homepage": "https://laravel.com",
            "time": "2018-04-07T17:05:26+00:00"
        },
        {
            "name": "illuminate/support",
            "version": "v5.6.16",
            "source": {
                "type": "git",
                "url": "https://github.com/illuminate/support.git",
                "reference": "fad0669f858423679497a17f973261cc32f9a5a8"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/illuminate/support/zipball/fad0669f858423679497a17f973261cc32f9a5a8",
                "reference": "fad0669f858423679497a17f973261cc32f9a5a8",
                "shasum": ""
            },
            "require": {
                "doctrine/inflector": "~1.1",
                "ext-mbstring": "*",
                "illuminate/contracts": "5.6.*",
                "nesbot/carbon": "^1.24.1",
                "php": "^7.1.3"
            },
            "conflict": {
                "tightenco/collect": "<5.5.33"
            },
            "suggest": {
                "illuminate/filesystem": "Required to use the composer class (5.6.*).",
                "symfony/process": "Required to use the composer class (~4.0).",
                "symfony/var-dumper": "Required to use the dd function (~4.0)."
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "5.6-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Illuminate\\Support\\": ""
                },
                "files": [
                    "helpers.php"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Taylor Otwell",
                    "email": "[email protected]"
                }
            ],
            "description": "The Illuminate Support package.",
            "homepage": "https://laravel.com",
            "time": "2018-04-05T21:19:22+00:00"
        },
        {
            "name": "nesbot/carbon",
            "version": "1.25.0",
            "source": {
                "type": "git",
                "url": "https://github.com/briannesbitt/Carbon.git",
                "reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cbcf13da0b531767e39eb86e9687f5deba9857b4",
                "reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.9",
                "symfony/translation": "~2.6 || ~3.0 || ~4.0"
            },
            "require-dev": {
                "friendsofphp/php-cs-fixer": "~2",
                "phpunit/phpunit": "^4.8.35 || ^5.7"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.23-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Carbon\\": "src/Carbon/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Brian Nesbitt",
                    "email": "[email protected]",
                    "homepage": "http://nesbot.com"
                }
            ],
            "description": "A simple API extension for DateTime.",
            "homepage": "http://carbon.nesbot.com",
            "keywords": [
                "date",
                "datetime",
                "time"
            ],
            "time": "2018-03-19T15:50:49+00:00"
        },
        {
            "name": "psr/container",
            "version": "1.0.0",
            "source": {
                "type": "git",
                "url": "https://github.com/php-fig/container.git",
                "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
                "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0.x-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Psr\\Container\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "PHP-FIG",
                    "homepage": "http://www.php-fig.org/"
                }
            ],
            "description": "Common Container Interface (PHP FIG PSR-11)",
            "homepage": "https://github.com/php-fig/container",
            "keywords": [
                "PSR-11",
                "container",
                "container-interface",
                "container-interop",
                "psr"
            ],
            "time": "2017-02-14T16:28:37+00:00"
        },
        {
            "name": "psr/simple-cache",
            "version": "1.0.1",
            "source": {
                "type": "git",
                "url": "https://github.com/php-fig/simple-cache.git",
                "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
                "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.0"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.0.x-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Psr\\SimpleCache\\": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "PHP-FIG",
                    "homepage": "http://www.php-fig.org/"
                }
            ],
            "description": "Common interfaces for simple caching",
            "keywords": [
                "cache",
                "caching",
                "psr",
                "psr-16",
                "simple-cache"
            ],
            "time": "2017-10-23T01:57:42+00:00"
        },
        {
            "name": "symfony/polyfill-mbstring",
            "version": "v1.7.0",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/polyfill-mbstring.git",
                "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
                "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
                "shasum": ""
            },
            "require": {
                "php": ">=5.3.3"
            },
            "suggest": {
                "ext-mbstring": "For best performance"
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "1.7-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Symfony\\Polyfill\\Mbstring\\": ""
                },
                "files": [
                    "bootstrap.php"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Nicolas Grekas",
                    "email": "[email protected]"
                },
                {
                    "name": "Symfony Community",
                    "homepage": "https://symfony.com/contributors"
                }
            ],
            "description": "Symfony polyfill for the Mbstring extension",
            "homepage": "https://symfony.com",
            "keywords": [
                "compatibility",
                "mbstring",
                "polyfill",
                "portable",
                "shim"
            ],
            "time": "2018-01-30T19:27:44+00:00"
        },
        {
            "name": "symfony/translation",
            "version": "v4.0.8",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/translation.git",
                "reference": "e20a9b7f9f62cb33a11638b345c248e7d510c938"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/translation/zipball/e20a9b7f9f62cb33a11638b345c248e7d510c938",
                "reference": "e20a9b7f9f62cb33a11638b345c248e7d510c938",
                "shasum": ""
            },
            "require": {
                "php": "^7.1.3",
                "symfony/polyfill-mbstring": "~1.0"
            },
            "conflict": {
                "symfony/config": "<3.4",
                "symfony/dependency-injection": "<3.4",
                "symfony/yaml": "<3.4"
            },
            "require-dev": {
                "psr/log": "~1.0",
                "symfony/config": "~3.4|~4.0",
                "symfony/dependency-injection": "~3.4|~4.0",
                "symfony/finder": "~2.8|~3.0|~4.0",
                "symfony/intl": "~3.4|~4.0",
                "symfony/yaml": "~3.4|~4.0"
            },
            "suggest": {
                "psr/log": "To use logging capability in translator",
                "symfony/config": "",
                "symfony/yaml": ""
            },
            "type": "library",
            "extra": {
                "branch-alias": {
                    "dev-master": "4.0-dev"
                }
            },
            "autoload": {
                "psr-4": {
                    "Symfony\\Component\\Translation\\": ""
                },
                "exclude-from-classmap": [
                    "/Tests/"
                ]
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Fabien Potencier",
                    "email": "[email protected]"
                },
                {
                    "name": "Symfony Community",
                    "homepage": "https://symfony.com/contributors"
                }
            ],
            "description": "Symfony Translation Component",
            "homepage": "https://symfony.com",
            "time": "2018-02-22T10:50:29+00:00"
        }
    ],
    "packages-dev": [],
    "aliases": [],
    "minimum-stability": "stable",
    "stability-flags": [],
    "prefer-stable": false,
    "prefer-lowest": false,
    "platform": [],
    "platform-dev": []
}

from docker-octobercms.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.