【问题标题】:Update multiple dependencies with Bower使用 Bower 更新多个依赖项
【发布时间】:2013-08-08 23:28:03
【问题描述】:

我在 bower.json 文件中和/或使用 Bower 列出(和/或安装)了几个依赖项和/或

bower install https://github.com/username/project.git

效果很好。

现在我可以列出所有这些

bower list

然后我可以选择项目的每个依赖项的名称并运行

bower update dependency-name

问题:如何批量更新所有这些?还是我必须编写一个 shell 脚本来循环并更新它们?

【问题讨论】:

    标签: package npm updates dependency-management bower


    【解决方案1】:

    您可以通过运行bower update 来更新所有内容。

    在任何命令上使用-h 标志来查看如何使用它。比如bower update -h

    【讨论】:

    • 终于!谢谢! ...已经阅读了最后一条说明这一点的帮助行。
    • 不适合我。例如,引导程序版本是 3.2.0 版本。我试过 do bower update bootstrap 但它没有更新到当前的 3.3.0。
    • 您是否在 bower.json 中指定了版本号?
    • 请注意,这样做会尊重您文件中指定的版本。如果你指定的 Boostrap 版本是~3.2.0,它永远不会更新到 3.3。如果你想要更暴力的东西,你可以使用npmjs.com/package/bower-update-all
    • @JagWire 通过重新安装包。只需运行bower install {package-name} --savebower.json 中的版本将被忽略。这就是 bower-update-all 在一个命令中对您的每个包所做的事情(当然,这可能会破坏您的应用程序,因为它可能会应用具有重大更改的版本)。
    【解决方案2】:

    这个过程有点慢,但很安全,因为你可以意识到你的应用什么时候坏了。

    假设你想更新 bootstrap 你只需要运行 bower install --save bootstrap 并且你的 bower.json 文件将被更新

    之前

     {
       "name": "my-awesome-app",
       "version": "0.0.0",
       "dependencies": {
         "bootstrap": "~3.0.0",
         "requirejs": "~2.1.11",
         "modernizr": "~2.8.2",
         "jquery": "~2.1.1",
         "underscore-amd": "~1.5.2",
         "backbone-amd": "~1.1.0",                                                                                                                                                
         "require-handlebars-plugin": "~0.8.0"
       }
     }
    

    之后

     {
       "name": "my-awesome-app",
       "version": "0.0.0",
       "dependencies": {
         "bootstrap": "~3.3.1",
         "requirejs": "~2.1.11",
         "modernizr": "~2.8.2",
         "jquery": "~2.1.1",
         "underscore-amd": "~1.5.2",
         "backbone-amd": "~1.1.0",                                                                                                                                                
         "require-handlebars-plugin": "~0.8.0"
       }
     }
    

    【讨论】:

    • 不,npm install --save bootstrap 会加载 bootstrap 的最新标签并保存到 deps。在撰写本文时,它将是"bootstrap": "~3.2.0"
    【解决方案3】:

    使用bower-update-all更新bower.json中所有bower依赖,如下:

    npm install -g bower-update-all
    bower-update-all
    

    【讨论】:

      【解决方案4】:

      如果你想强制更新所有依赖项,你可以使用bower install --save --force。这个和bower install --save [dep1] [dep2] ...一样

      短版是bower i -S -f

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-20
        • 2015-06-06
        • 2015-04-08
        • 1970-01-01
        • 2013-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多