Bower:强制更新本地包

25
我需要强制Bower使用最新版本的依赖,覆盖掉本地定义的旧版本。我认为 bower update <package> 命令可以完成这个操作(即使加上--force参数)。但是,它一直优先选择已经安装在 bower_components 目录下的依赖。
考虑以下项目结构(目前全部位于同一个代码库中): shared/bower.json
{
  "name": "mysharedstuff",
  "version": "0.0.1",
  ...
}

client1/bower.json

{
  ...
  "dependencies": {
    "mysharedstuff": "../shared"
  }
}

我唯一能获得 shared/ 的新副本的方式是显式地删除在 bower_components 下安装的副本。例如:

client1$> rm -rf bower_components/mysharedstuff
client1$> bower install

这是 bower 如何处理本地依赖版本控制的一个 bug 吗?还是我忽略了一些简单的东西?


1
我遇到了同样的问题。可能是个bug吗? - thomaux
1
这似乎是相同的问题:https://github.com/bower/bower/issues/923 - Courtney Christensen
2个回答

41

仅仅是更新一下你提到的 GitHub 问题。

bower --force update

该命令将强制更新您的 bower.json 中的任何软件包。 适用于 Bower > v1.3.6


在 bower 1.3.12 中仍存在此 bug(?),但这个修复方法有效。谢谢。 - Seth
终于接受了这个答案。我确认在托管的私有仓库中可以使用此方法。本地包应该也是一样的。(我之前因为错误地标记了一个内部工具库的有缺陷版本而遇到了这个问题) - Courtney Christensen

1
因为Bower在您的存储库中寻找最新的标签名称。请使用git tag指定您的最后提交。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接