如何使用 Bower 覆盖版本以掌握?

How to override version to master using Bower?

在我的应用程序中使用 froala/angular-froala plugin which requires froala/wysiwyg-editor 插件。

所以我像往常一样包含了所有内容,但我需要将版本从 1.2.6 更改为 master 分支的最新提交,我这样做了:

"overrides": {
    "angular-froala": {
      "main": [
        "src/angular-froala.js",
        "src/froala-sanitize.js"
      ],
      "dependencies": {
        "FroalaWysiwygEditor": "master",
        "angular": "~1.2.22"
      }
    },
    "FroalaWysiwygEditor": {
      "version": "master",
      "main": [
        "css/froala_editor.min.css",
      ]
    }
  }

但为什么它不起作用?为什么它仍然使用 1.2.6(最新发布版本)?如何指定使用最新提交和覆盖?

更新: 为什么需要更改依赖的依赖版本?在这种情况下,froala/angular-froala 已经定义了自己的依赖项,因为它需要这些来构建。

如果您更改您不拥有的包的依赖项,您实际上可能会中断构建过程。您可以做两件事,而不是试图覆盖它:

  1. 建议对 froala 进行更改以在 master 分支上更新其 bower.json - 非常不可能

  2. Fork froala/angular-froala,更新 bower.json 中的依赖项并将您的 fork 添加为当前项目的依赖项。

获取依赖项的最新版本

要从特定分支获取最新提交或通过 Bower 提交,请使用这样的依赖项,其中主题标签后的字符串是分支名称或 git 提交 SHA:

"dependencies": {
  ...
  "angular-froala": "git://github.com/froala/angular-froala.git#master"
  ...
}

你也可以这样安装:

bower install --save git://github.com/froala/angular-froala.git#master