永久忽略与凉亭的依赖关系

Fra*_*ain 48 bower

我正在下载角度,角度引导和带凉亭的自举.Bootstrap依赖于安装在进程中的jquery.但我在我的项目中不需要它,因为我只使用bootstrap的CSS.

所以我试图永久删除对jquery的依赖

bower uninstall jquery --save
Run Code Online (Sandbox Code Playgroud)

它正在卸载jquery,但下次我制作时bower update,它会再次下载.

有没有办法让bower永久地跳过依赖?

编辑:我希望有这样的事情:

"resolutions": {
    "jquery": "no, thanks"
}
Run Code Online (Sandbox Code Playgroud)

kro*_*oss 69

拉请求#1394增加了对此功能的官方支持,并出现在bower版本1.6.3及更高版本中.检查您的版本bower -v,然后运行npm install -g bower升级.

供参考,请参阅.bowerrc官方规范文档.如果这对您不起作用,请向凉亭提出问题,因为这是一个错误.

我们.bowerrc在下面这样使用它:

{
  "ignoredDependencies": [
    "bootstrap",
    "bootstrap-sass",
    "bootstrap-sass-official"
  ]
}
Run Code Online (Sandbox Code Playgroud)


小智 25

我们有类似的情况,我们让Backbone依赖于Underscore bower.json,但我们正在使用Lo-Dash,因此Bower在每次安装时不必要地拉下Underscore.我们对第三方许可证合规性进行了自动检查,因此我们不想要任何我们实际不使用的内容.

我意识到这并不是它们的意思,但Bower的安装钩可用于在安装后清除不需要的deps(至少在Bower获得你所暗示的那种"不用谢谢"分辨率之前).在你的.bowerrc:

{
    "directory": "app/bower_components",
    "scripts": {
        "postinstall": "rm -rf app/bower_components/underscore"
    }
}
Run Code Online (Sandbox Code Playgroud)

这有点像黑客,但有效.

  • 有趣的解决方案!但它没有解决使用像wiredep这样的工具而不配置它的问题:( (3认同)

pie*_*ier 13

您可以在bower.json文件中执行以下操作:

{
  "dependencies": {
    ...
    "bootstrap": "^3.2.0"
  }
  "overrides": {
    "bootstrap": {
      "dependencies": []
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这意味着:删除所有boostrap的依赖项,这是你想要的,因为jquery是唯一的(你可以查看bower info bootstrap)

  • 是否需要使用特定版本的Bower才能实现此功能?我有最新的1.7.1,这不起作用. (3认同)

Sin*_*hus 5

如果您提交依赖项,请将其添加到.gitignore.否则保留它,因为它没有任何区别.你应该只使用你需要的东西而忽略其余的东西.