gpt4 book ai didi

javascript - 你如何卸载你所有的 bower 包?

转载 作者:IT王子 更新时间:2023-10-29 02:51:06 31 4
gpt4 key购买 nike

有时重建整个站点并强制 bower 重新安装 bower.json 中所有包的新版本很有用。

但是,似乎没有办法做到这一点:

尝试#1:

$ bower uninstall
bower not-installed 0

不,这仅适用于逐个包的基础,即使干净的“bower 安装”使用 bower.json。

尝试#2:

$ bower install -f -l 0
$

不,尽管有“-f”,但如果满足依赖关系,这绝对没有任何作用。

尝试#3:

$ rm -r bower_components
$

!啊胜利! ...等等,这是什么?

rm: bower_components: No such file or directory

哦,该死,这个项目中有一个 .bowrc 设置了安装目录。

我目前糟糕的解决方案:

运行自定义脚本:

- Parse .bowerrc if one exists
- Load the directory if one is specified in the json block
- If the directory currently exists...
- ...recursively delete the directory.

我想它可以工作,但是必须重复设置非常烦人。

我错过了什么吗?

不是只有一个简单的 bower 命令可以删除本地安装的模块吗?

这似乎是我希望 Bower 卸载完成的非常基本的功能。

(这实际上不是一个非常 javascript 的问题,但我很乐意接受以某种方式挂接到 bower 模块的东西,以在简单的节点脚本中实现这一点)

上下文

编辑:如果你想为这样的任务找到“动力”,那就是:我们有一个 jenkins 服务器来构建我们的项目并运行测试。但是,它会周期性地无缘无故地失败;调查,这几乎是 always 因为 jenkins 在构建和运行测试之前只使用 git-pull 更新到最新版本的存储库的先前副本;结果,以前的 bower_components 目录就在那里,里面全是各种组件的缓存副本。

这里有一些例子是#@$@#$'d 并且要求 bower 作为强制安装再次运行:

1) 一些白痴 (>_> fitvids) 删除了项目的先前标记版本。

2) 一些项目已经离开 bower/移动了它的 github 页面

3) 一些项目 (>_> jquery) 改变了文件在非主要版本修订版中的布局方式。

我意识到这个问题的“正确”解决方案是:修复 jenkins 以便它为每个构建创建一个新的临时目录。 ...但这不在我的控制范围内。

因此,作为构建步骤,我需要自动删除 Bower 组件并强制重新安装它们;作为 grunt 任务(构建的一部分)或 jenkins 构建步骤。但是,请记住上面的(3),我们的项目使用.bowerrc,所以它不是简单地删除文件夹那么简单。

如果我可以卸载所有现有的 Bower 组件作为预构建步骤来完成这项工作,那就太好了。

所以...回到问题:这可以用 Bower 完成吗?

最佳答案

更新的答案

如果您尝试更新所有包,请使用

$ bower update

原始答案

转到您的 bower.json 文件并删除您要从 devDependencies 中卸载的所有组件或库。

在你删除了你想要的那些之后,执行 -

$ bower prune
  1. 开始于 -

    "devDependencies": {
    "angular": "~1.2.15",
    "angular-ui-router": "~0.2.10",
    "moment": "~2.5.1"
    }
  2. 从文件中删除 Angular 引用 -

    "devDependencies": {
    "moment": "~2.5.1"
    }
  3. 执行

    $ bower prune
  4. 观察您的 Angular 依赖项被卸载

关于javascript - 你如何卸载你所有的 bower 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22927370/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com