Visualizzazione dei risultati da 1 a 5 su 5

Discussione: composer: forzare l'uso del comando require-dev

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    52

    composer: forzare l'uso del comando require-dev

    Ho creato una libreria contenente essenzialmente strumenti di debug.
    Per questo motivo, il comando corretto per importare tale libreria nei vari progetti, sarebbe

    composer require-dev mio/debug

    e non

    composer require mio/debug

    Si può quindi impedire l'uso del comando 'require' (magari intervenendo sull'apposito composer.json)?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    190
    Stai facendo confusione, le sezioni require e require-dev servono per categorizzare i pacchetti che ti servono rispettivamente per un ambiente di produzione o per un ambiente di sviluppo.

    Nel tuo caso la libreria che hai creato immagino serva solo durante lo sviluppo e non durante la produzione, quindi è corretto inserirla nella sezione require-dev del file composer.json.

    In pratica li avrai (ho messo dei pacchetti a caso):

    codice:
    "require": {
        "php": ">=5.3.2",
        "monolog/monolog": "1.0.*"
    },
    "require-dev": {
        "phpunit/phpunit": "3.7.*",
        "tuons/tualibreria": "*"
    },
    In questo modo un:

    codice:
    composer install --no-dev
    ti installerà solo i pacchetti nella sezione "require"
    Mentre un:

    codice:
    composer install
    Ti installerà anche i pacchetti di sviluppo presenti nella sezione require-dev, tra cui anche la tua libreria, in quanto di default vengono installati anche i pacchetti di sviluppo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    52
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Stai facendo confusione, le sezioni require e require-dev servono per categorizzare i pacchetti che ti servono rispettivamente per un ambiente di produzione o per un ambiente di sviluppo.

    Nel tuo caso la libreria che hai creato immagino serva solo durante lo sviluppo e non durante la produzione, quindi è corretto inserirla nella sezione require-dev del file composer.json.

    In pratica li avrai (ho messo dei pacchetti a caso):

    codice:
    "require": {
        "php": ">=5.3.2",
        "monolog/monolog": "1.0.*"
    },
    "require-dev": {
        "phpunit/phpunit": "3.7.*",
        "tuons/tualibreria": "*"
    },
    In questo modo un:

    codice:
    composer install --no-dev
    ti installerà solo i pacchetti nella sezione "require"
    Mentre un:

    codice:
    composer install
    Ti installerà anche i pacchetti di sviluppo presenti nella sezione require-dev, tra cui anche la tua libreria, in quanto di default vengono installati anche i pacchetti di sviluppo.
    Ma volendo la mia libreria si può mettere anche sotto 'require' e viene accettata cmq.
    Si può impedirlo?
    Non so se mi spiego...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    190
    Si hai ragione, forse non mi sono spiegato bene, però di fatto volevo dire che per come funziona composer non puoi farlo (almeno per quello che ne so io), chi crea il file composer.json sceglie dove mettere la libreria e non puoi forzarla in una determinata sezione a priori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    52
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2017 vBulletin Solutions, Inc. All rights reserved.