Fragen zur bevorstehenden Installation

Hallo,

ich habe folgende zwei Fragen:

Wie muss man die autoloadConfiguration für den Composer vor der Installation einrichten?

Welchen Parameter muss ich beim Composer angeben, damit ich Neos 4.1 stable installieren kann?

Composer generiert den autoloader komplett selbst, ich verstehe daher die Frage nicht völlig. Du musst Dich normalerweise um nichts kümmern. Um eine bestimmte Version zu installieren (Wichtig: Die root composer.json und .lock solltest Du in Deinem Projekt versionieren):

composer create-project neos/neos-base-distribution "name-des-ordners" "^4.1.0"

Sowas sollte die aktuelleste 4.1 installieren.

Hi Wolfgang,

kurze Frage: Hat es einen konkreten Grund, dass du nicht die aktuellste stabile Version (Neos 4.2) installieren willst?

Viele Grüße,
Sebastian

zu autoConfig hatte mir Daniel nach einem Fehler geschrieben:
“…sollten die Composer autoloadConfiguration übegeben werden. Diese Informationen sollten immer zur Verfügung stehen…Generiere die Configuration nochmal neu mit dem Befehl: composer dump-autoload`”.
Daraus habe ich abgeleitet, dass ich irgendwas falsch mache, daher meine Frage.

Mit 4.2 kann ich keine Site erzeugen. Bin schon ein paar Tage am basteln und habe die Menüoberfläche noch nie gesehen (außer in Screenshots) :frowning:

Exception in line 671 of /var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php:
Argument 5 passed to Neos\Flow\Package\PackageFactory::create() must be of the type array, null given,
called in /var/www/neos/Packages/Framework/Neos.Flow/Classes/Package/PackageManager.php on line 671

29 Neos\Flow\Package\PackageFactory::create("/var/www/neos/Packages/", NULL, NULL, “ws/demo2”, NULL, NULL)

Das scheint mir ein Fehler in Neos zu sein.

Hallo @wosc ,
bitte versuch mal, für den Package-Key folgende Konventionen zu verwenden:

  • Punkt als Trenner
  • Erster Buchstabe jedes Namensbestandteils groß

also statt ws/demo bitte “Ws.Demo” :slight_smile:
Wir prüfen das in den CLI-Befehlen offenbar nicht durchgängig ab.

Mmm, das 4. Argument ist der composer package name, das ist schon so korrekt. Der Fehler scheint mir, dass die anderen parameter leer sind. Da scheint was mit der erzeugten composer.json nicht zu stimmen.

@wosc kannst du mal in /var/www/neos/Packages/Sites/Ws.Demo2/composer.json gucken und den inhalt posten? (Der pfad ist teils geraten mag also nicht ganz exakt stimmen).

Ws.Demo2 klappt auch nicht. Gleicher Fehler

/var/www/neos/DistributionPackages/Ws.demo2

{
    "description": "",
    "type": "neos-site",
    "require": {
        "neos/neos": "*",
        "neos/nodetypes": "*"
    },
    "suggest": {
        "neos/seo": "*"
    },
    "name": "ws/demo2",
    "autoload": {
        "psr-4": {
            "Ws\\demo2\\": "Classes/"
        }
    },
    "extra": {
        "neos": {
            "package-key": "Ws.demo2"
        }
    }
}

Danke! Das sieht eigentlich erstmal gut aus. Kannst Du dann auch mal hier rein gucken:

/var/www/neos/Data/Temporary/PackageInformationCache.php

Da müsste sich ws/demo2 auch drin wiederfinden. Wenn Du den passenden Auszug auch posten könntest?

Da gibt es kein ws/demo2 oder demo2…

Interessant. Findet sich denn ein symlink auf DistributionPackages/Ws.demo2 innerhalb von Packages? (Wahrscheinlich in meinem vermuteten Packages/Sites)

Das wäre ein wichtiger Punkt. wenn das nicht so ist, haben wir zumindest schon mal die Grundursache. Wenn das da ist dann könntest Du die PackageInformationCache.php mal löschen und schauen ob das was verbessert.

Es gibt keine SymLink. Unter Sites gibt es nur das DIR Neos.Demo

Dann ist das auf jeden Fall ein Fehler. Für mal ein composer update in der installation aus und schau ob das den Symlink erzeugt (composer müsste dir sagen, dass es Dein Package installiert)

Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating autoload files
ocramius/package-versions: Generating version class…
ocramius/package-versions: …done generating version class

Neos\Flow\Composer\InstallerScripts::postUpdateAndInstall

Dann poste bitte noch mal die composer.json dort.

{
    "name": "neos/neos-base-distribution",
    "description": "Neos Base Distribution",
    "license": "GPL-3.0+",
    "support": {
        "email": "hello@neos.io",
        "slack": "http://slack.neos.io/",
        "forum": "https://discuss.neos.io/",
        "wiki": "https://discuss.neos.io/c/the-neos-project/project-documentation",
        "issues": "https://github.com/neos/neos-development-collection/issues",
        "docs": "http://neos.readthedocs.org/",
        "source": "https://github.com/neos/neos-base-distribution"
    },
    "config": {
        "vendor-dir": "Packages/Libraries",
        "bin-dir": "bin"
    },
    "require": {
        "neos/neos": "~4.2.0",
        "neos/nodetypes": "~4.2.0",
        "neos/demo": "~4.2.0",
        "neos/site-kickstarter": "~4.2.0",

        "neos/neos-ui": "^1.3",
        "neos/neos-ui-compiled": "^1.3",

        "neos/seo": "~2.0",
        "neos/setup": "~4.0",
        "neos/redirecthandler-neosadapter": "~2.0",
        "neos/redirecthandler-databasestorage": "~2.0"
    },
    "require-dev": {
        "neos/buildessentials": "^5.0",
        "mikey179/vfsstream": "^1.6",
        "phpunit/phpunit": "^7.0",
        "symfony/css-selector": "~2.0",
        "neos/behat": "^5.0"
    },
    "repositories": {
        "distributionPackages": {
            "type": "path",
            "url": "./DistributionPackages/*"
        }
    },
    "replace": {
        "typo3/neos-base-distribution": "4.2.8"
    },
    "suggest": {
        "ext-pdo_sqlite": "For running functional tests out-of-the-box this is required"
    },
    "scripts": {
        "post-update-cmd": "Neos\\Flow\\Composer\\InstallerScripts::postUpdateAndInstall",
        "post-install-cmd": "Neos\\Flow\\Composer\\InstallerScripts::postUpdateAndInstall",
        "post-package-update": "Neos\\Flow\\Composer\\InstallerScripts::postPackageUpdateAndInstall",
        "post-package-install": "Neos\\Flow\\Composer\\InstallerScripts::postPackageUpdateAndInstall"
    }
}

Danke für Deine Geduld, da fehlt tatsächlich was.

Probier mal das:

composer require ws/demo2 "@dev"

Idealerweise sollte danach ws/demo2 in obiger composer.json required werden und der Symlink vorhanden sein.

"require": {
    "neos/neos": "~4.2.0",
    "neos/nodetypes": "~4.2.0",
    "neos/demo": "~4.2.0",
    "neos/site-kickstarter": "~4.2.0",

    "neos/neos-ui": "^1.3",
    "neos/neos-ui-compiled": "^1.3",

    "neos/seo": "~2.0",
    "neos/setup": "~4.0",
    "neos/redirecthandler-neosadapter": "~2.0",
    "neos/redirecthandler-databasestorage": "~2.0",
    "ws/demo2": "@dev"
},

Yepp. Symlink vorhanden.
Kann man jetzt damit arbeiten, bzw. haben wir die fehlenden Steps vollständig ersetzt?

Schwer von aussen zu sagen, aber ich hoffe mal…