159 votes

Bower et devDependencies vs dependencies

J'ai lancé 'yo angular' et j'ai réalisé après coup qu'il installait la version 1.0.8, j'ai désinstallé les composants angulaires, cependant le fichier bower.json original avait angular-mocks et angular-scenario sous 'devDependencies' quand j'ai réajouté tous les composants 1.2.0-rc.2 angular-mocks et angular-scenario sous dependencies à la place de devDependencies.

Je suis curieux de savoir comment devDependencies est utilisé et si je devrais prendre la peine de le corriger manuellement ou le laisser tel quel. Est-ce qu'il y a un moyen de spécifier dans le CLI de Bower comment marquer quelque chose comme une dépendance dev ?

Après édition du fichier :

{
    name: "Angular",
    version: "0.0.0",
    dependencies: {
        json3: "~3.2.4",
        jquery: "~1.9.1",
        bootstrap-sass: "~2.3.1",
        es5-shim: "~2.0.8",
        angular-mocks: "1.2.0-rc.2",
        angular-sanitize: "1.2.0-rc.2",
        angular-resource: "1.2.0-rc.2",
        angular-cookies: "1.2.0-rc.2",
        angular: "1.2.0-rc.2",
        angular-scenario: "1.2.0-rc.2"
    },
    devDependencies: { }
}

Avant l'édition :

{
    "name": "Angular",
    "version": "0.0.0",
    "dependencies": {
        "angular": "~1.0.7",
        "json3": "~3.2.4",
        "jquery": "~1.9.1",
        "bootstrap-sass": "~2.3.1",
        "es5-shim": "~2.0.8",
        "angular-resource": "~1.0.7",
        "angular-cookies": "~1.0.7",
        "angular-sanitize": "~1.0.7"
    },
    "devDependencies": {
        "angular-mocks": "~1.0.7",
        "angular-scenario": "~1.0.7"
    }
}

281voto

zamnuts Points 3410

devDependencies sont destinés aux scripts liés au développement, par exemple les tests unitaires, les scripts d'empaquetage, la génération de documentation, etc.

dependencies sont nécessaires pour l'utilisation en production, et sont supposés être également nécessaires pour le développement.

Y compris devDependencies à l'intérieur dependencies Le module ne fera que regrouper plus de fichiers (octets) lors de l'installation, consommant ainsi plus de ressources (inutiles). D'un point de vue puriste, ces octets supplémentaires pourraient être préjudiciables, tout dépend de votre point de vue.

Pour y voir plus clair, il suffit de regarder bower help install , modules répertoriés sous devDependencies peut être omis lors de l'installation du module via -p o --production , par exemple :

bower install angular-latest --production

Il s'agit de la méthode recommandée pour effectuer une installation autre qu'une plate-forme de développement.

En revanche, il n'est pas possible d'omettre les modules répertoriés sous la rubrique dependencies .


A partir de bower@1.2.7 (voir bower latest source ), bower help les rendements :

Usage:

    bower <command> [<args>] [<options>]

Commands:

    cache                   Manage bower cache
    help                    Display help information about Bower
    home                    Opens a package homepage into your favorite browser
    info                    Info of a particular package
    init                    Interactively create a bower.json file
    install                 Install a package locally
    link                    Symlink a package folder
    list                    List local packages
    lookup                  Look up a package URL by name
    prune                   Removes local extraneous packages
    register                Register a package
    search                  Search for a package by name
    update                  Update a local package
    uninstall               Remove a local package

Options:

    -f, --force             Makes various commands more forceful
    -j, --json              Output consumable JSON
    -l, --log-level         What level of logs to report
    -o, --offline           Do not hit the network
    -q, --quiet             Only output important information
    -s, --silent            Do not output anything, besides errors
    -V, --verbose           Makes output more verbose
    --allow-root            Allows running commands as root

See 'bower help <command>' for more information on a specific command.

et plus loin, bower help install (voir dernière source ):

Usage:

    bower install [<options>]
    bower install <endpoint> [<endpoint> ..] [<options>]

Options:

    -F, --force-latest      Force latest version on conflict
    -h, --help              Show this help message
    -p, --production        Do not install project devDependencies
    -S, --save              Save installed packages into the project's bower.json dependencies
    -D, --save-dev          Save installed packages into the project's bower.json devDependencies

    Additionally all global options listed in 'bower help' are available

Description:

    Installs the project dependencies or a specific set of endpoints.
    Endpoints can have multiple forms:
    - <source>
    - <source>#<target>
    - <name>=<source>#<target>

    Where:
    - <source> is a package URL, physical location or registry name
    - <target> is a valid range, commit, branch, etc.
    - <name> is the name it should have locally.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X