Contao-Camp 2024
Ergebnis 1 bis 9 von 9

Thema: Extension requirements installieren[Gelöst]

  1. #1
    Contao-Nutzer
    Registriert seit
    22.10.2021.
    Beiträge
    45

    Standard Extension requirements installieren[Gelöst]

    Ich habe eine Extension erstellt.
    Diese hat ein 3 requirements.

    Nun möchte ich das wenn die Extension installiert wird ( bzw composer update in der roots json ausgefuhrt wird) , das auch alle requirements meiner extension mit installiert werden.

    in der composer.json meiner extension steht folgender relevanter teil :

    PHP-Code:
    // // extension requirements in der extension composer.json

      
    "require": {
        
    "contao/core-bundle""^4.9",
        
    "mvpasarel/typekit-php""^1.1",
        
    "sabberworm/php-css-parser""^8.3",

      }, 

    Installieren tue ich die Extension zurzeit über path (root composer json)

    PHP-Code:
    // contao root composer.json
      
    "require": {

        
    "myname/starter-bundle""dev-master",

      },

      
    "repositories": [
        {
          
    "type""path",
          
    "url""vendor/myname/starter-bundle"
        
    }, 
    Die Extension liegt also bereits im Vendor ordner.
    Wenn ich composer.update ausführe im extension ordner
    dann wird ein weiterer vendor ordner erstellt in meinem Extension Ordner.
    ich denke das ich nicht der richtige weg ? Da die installierten packete dort auch nicht erkannt werden

    Ziel ist es das meine Extension auf github oder packigist liegt ... und und man dann einfach nur require myname/mybundle ausführt
    (und alle requirements von der extension auch installiert werden) .. funktioniert das über type : path nicht ?
    Geändert von Medy (11.01.2022 um 13:29 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.035
    Partner-ID
    10107

    Standard

    Wenn dein Paket bereits die nötigen Dependencies definiert hat, dann installiert dir Composer ja auch diese Dependencies. Also du musst da nichts weiter anpassen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    22.10.2021.
    Beiträge
    45

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wenn dein Paket bereits die nötigen Dependencies definiert hat, dann installiert dir Composer ja auch diese Dependencies. Also du musst da nichts weiter anpassen.

    Mal ein Beispiel :

    Schritt 1 :

    Ich installiere über Contao Manger
    http://contao3.loc/contao-manager.ph...creator-bundle

    Schritt 2 :

    Ich führe nachdem ich Datenbank geupdated habe ein Composer Update aus...

    PHP-Code:
          Problem 1
        
    markocupic/contao-bundle-creator-bundle[1.4.0, ..., 1.4.11] require markocupic/zip-bundle ^1.0 -> satisfiable by markocupic/zip-bundle[1.0.1, ..., 1.0.7].
        - 
    markocupic/zip-bundle[1.0.1, ..., 1.0.7] require ext-zip * -> it is missing from your systemInstall or enable PHP's zip extension.
        - Root composer.json requires markocupic/contao-bundle-crea 
    Im Vendor ordner sehe ich das das "ext-zip" required wird von dem zip bundle...
    "ext-zip": "*"


    wieso installiert composer es nicht ? und gibt mir diese fehlermeldung ?

    Bei mir werden zumindest anscheinend nie requirements welche extension selber requiren installiert ?

    Woran kann das liegen ?

    Das gleiche problem habe ich wie gesagt auch mit meiner Extension... wenn ich nicht alle requirements in der Root Composer Json eintrage funktionert nichts...
    Geändert von Medy (11.01.2022 um 08:27 Uhr)

  4. #4
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.939

    Standard

    "ext-zip" ist eine PHP Erweiterung, die Du (installieren und) aktivieren musst. Das ist nichts, was Composer machen könnte.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  5. #5
    Contao-Nutzer
    Registriert seit
    22.10.2021.
    Beiträge
    45

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    "ext-zip" ist eine PHP Erweiterung, die Du (installieren und) aktivieren musst. Das ist nichts, was Composer machen könnte.
    stimmt ... war vllt ein schlechtes Beispiel .. ich schaue nochmal nach ...
    Geändert von Medy (11.01.2022 um 09:17 Uhr)

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.035
    Partner-ID
    10107

    Standard

    Zitat Zitat von Medy Beitrag anzeigen
    Das gleiche problem habe ich wie gesagt auch mit meiner Extension... wenn ich nicht alle requirements in der Root Composer Json eintrage funktionert nichts...
    Solange deine Extension die richtigen Requirements hat, werden diese auch installiert, wenn die Extension installiert wird.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    22.10.2021.
    Beiträge
    45

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Solange deine Extension die richtigen Requirements hat, werden diese auch installiert, wenn die Extension installiert wird.
    Ok das ist good to know. Dann habe ich irgendwo einen Fehler . Den sollte ich finden

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.035
    Partner-ID
    10107

    Standard

    Was für ein Problem hast du denn nun eigentlich im Genauen?
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    22.10.2021.
    Beiträge
    45

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Was für ein Problem hast du denn nun eigentlich im Genauen?
    Habe den Fehler nun gefunden dank deinem Tipp.

    Und zwar hatte ich versehentlich
    das require falsch in der composer json


    PHP-Code:
      "require": {
        
    "myname/some-bundle""dev-master",
      }, 

    dadurch hat er nicht die lokale kopie verwendet sondern die die ich hochgeladen hatte mal zu testzwecken...


    obwohl ich eigentlich auf die lokale version verwiesen hatte -->


    PHP-Code:
       {
          
    "type""path",
          
    "url""vendor/myname/some-bundle"
        
    }, 
    wurde aber ignoriert weil ja eine online version existerte...

    Das require musste auf "myname/some-bundle": "1.0",

    geändert werden...

    und dann hat er auch die lokale version genutzt und alles wurde erfolgreich installiert.
    Geändert von Medy (11.01.2022 um 09:41 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •