2013-10-12 10 views
152

Ich lief 'yo eckig' und erkannte, dass es installiert 1.0.8, ich die eckigen Komponenten deinstalliert, jedoch die ursprüngliche bower.json Datei hatte Winkel-Mocks und Winkel-Szenario unter 'devDependencies' wenn Ich füge alle 1.2.0-rc.2 Komponenten angular-mocks und angular-scenario unter Abhängigkeiten statt devDependencies hinzu.Bower und devDependencies vs Abhängigkeiten

Ich bin neugierig, wie devDependencies verwendet wird und wenn ich es tun sollte, manuell zu reparieren oder zu verlassen, wie es ist. Gibt es eine Möglichkeit, CLI auf der Bower-Klasse anzugeben, um etwas als Dev-Abhängigkeit zu kennzeichnen?

Nach Änderungen Datei:

{ 
    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: { } 
} 

Vor Edits:

{ 
    "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" 
    } 
} 

Antwort

267

devDependencies sind für die entwicklungsbezogenen Skripts, zum Beispiel Komponententests, Paketierungsskripte, Dokumentationsgenerierung, usw.

dependencies werden für den Produktionseinsatz benötigt und auch für den Entwickler vorausgesetzt.

Einschließlich devDependencies innerhalb dependencies, wie Sie es haben, wird nicht schädlich sein; Das Modul wird nur mehr Dateien (Bytes) während der Installation bündeln - mehr (unnötige) Ressourcen zu verbrauchen. Von einem puristischen POV könnten diese zusätzlichen Bytes schädlich sein, hängt nur von Ihrer Perspektive ab.

etwas Licht zu werfen, bei bower help install suchen, unter devDependencies aufgeführten Module können während der Installation des Moduls über -p oder --production, zum Beispiel weggelassen werden: andere

bower install angular-latest --production 

Dies ist die empfohlene Methode zur Durchführung einer Installation für alles als eine Entwicklungsplattform.

Im Gegensatz dazu können keine unter dependencies aufgelisteten Module weggelassen werden.


Ab [email protected] (siehe bower latest source), bower help ergibt:

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. 

und ferner bower help install Ausbeuten (siehe latest 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. 
+0

die völlig geklärt es auf. Vielen Dank – Gary

+0

gibt es eine Möglichkeit, bower zu bekommen, um unnötige Deps automatisch zu entfernen, wenn Sie sie von bower.json entfernen? – FutuToad

+1

@FutuToad, ich habe es nicht versucht, aber ein "bower update" (um die neueste Version mit den alten Deps zu entfernen), gefolgt von einem 'bower prune' (löscht fremde lokale Pakete) könnte den Trick machen. – zamnuts

Verwandte Themen