如何卸载所有 Bower 软件包?

2024-04-13

有时,重建整个站点并强制 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 uninstall 能够完成的非常基本的功能。

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

Context

编辑:如果您想要此类任务的“动力”,那就是:我们有一个 jenkins 服务器来构建我们的项目并运行测试。然而,它有时会无缘无故地失败;调查了一下,差不多了always因为 jenkins 使用存储库的先前副本,在构建和运行测试之前仅通过 git-pull 更新到最新版本;结果,之前的 Bower_components 目录就在那里,并且充满了各种组件的缓存副本。

这里有一些 #@$@#$ 的例子,并且需要 Bower 作为强制安装再次运行:

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

2) 一些项目已经从 Bower 中删除/移动了它的 github 页面

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

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

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

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

那么...回到问题:这可以用 Bower 来完成吗?


更新答案

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

$ bower update

原答案

转到 Bower.json 文件并删除要从 devDependency 卸载的所有组件或库。

删除想要删除的内容后,执行 -

$ bower prune
  1. 从...开始 -

    "devDependencies": {
        "angular": "~1.2.15",
        "angular-ui-router": "~0.2.10",
        "moment": "~2.5.1"
    }
    
  2. 从文件中删除角度参考 -

    "devDependencies": {
        "moment": "~2.5.1"
    }
    
  3. execute

    $ bower prune
    
  4. 观察你的角度依赖被卸载

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何卸载所有 Bower 软件包? 的相关文章

随机推荐

  • GitHub API v3:确定用户是否是组织的所有者

    很容易确定用户是否是团队成员如果你知道id http developer github com v3 orgs teams get team member GET teams id members user 但如何才能轻松确定每个组织都拥有
  • Perl 字符串是不可变的吗?

    当我对字符串进行串联时 幕后发生了什么 my short short short cake Perl 是否有效地创建一个新字符串 然后为其分配正确的变量引用 或者 Perl 字符串本质上总是可变的 这个问题的动机来自我与一位同事的讨论 他说
  • 模板构造函数优先于普通复制和移动构造函数?

    以下程序的输出 include
  • 如何检查 VBA DAO 记录集中是否为空?

    我在数据库中有一个可选字段 我正在使用 DAO 记录集提取该字段 在将字段与其他字段连接之前 我需要检查该字段是否已设置 到目前为止 我已经尝试过以下代码片段Is and 这是明显错误的语法 Is 无济于事 看来如果我使用 它不会正确地与N
  • 添加资源文件到VC6 dll

    我有许多 VC 6 0 项目 DSP 它们构建到没有资源文件的 dll 中 知道如何将资源添加到现有项目中吗 该项目很快就会发布一个主要版本 我想为那些目前缺少的 dll 添加一个文件版本 dll 将在发布之前重新编译 因此我只是尝试使这些
  • Active Directory 是否支持事务?

    简单的问题 但我在任何地方都找不到答案 Active Directory 是否支持事务 换句话说 以下更改是否会回滚 因为我没有调用scope Complete using var scope new TransactionScope Di
  • 是否可以定义一个符合协议的Class类型的属性?

    例如 我有MyFancyData协议 如何指定 MyFancyDataClass 属性仅接受符合此协议的类 interface MyObject NSObject property Class MyFancyDataClass proper
  • 头文件中的内存分配

    我工作的公司有针对嵌入式目标的 C 开发的开发规则 一是 建议不要在头文件中分配任何存储空间 我不确定这意味着什么 写它的人不在身边 其他开发人员也不在乎 所以我在这里问 我的理解是 我不应该在头文件中声明变量 因此在 h 中不鼓励类似的操
  • 使用 caseInSensitive 在 Firebase 中保存和/或查询用户显示名称?

    我正在将我的项目从 Swift 转移到 Firebase Firebase 用户没有用户名 但我允许他们保存显示名称 该名称更像是属性而不是实际对象 如何让用户在敏感文本中使用大小写来查询其他用户 朋友 您可以轻松完成此任务 我们不知道您当
  • 如何缓存 sbt TaskKey 的结果?

    我有一项昂贵的任务需要在测试中参考 lazy val exampleSources TaskKey Seq File exampleSources for use in tests exampleSources updateClassifi
  • 空指针与悬挂指针

    空指针和悬空指针之间有有意义的区别吗 看起来这两个术语都用于表示不指向任何内容的指针 是一个悬空指针的想法used引用某些东西 但现在没有 其中空指针只是一个不引用任何东西的指针 无论它过去指向什么 指针术语 悬空 或野 指针 指向某处的指
  • 如何发光最小。最大和关闭按钮?

    我按照以下指南使用 DWM API 创建自定义 Aero 框架 My work void CMainFrame OnActivate UINT nState CWnd pWndOther BOOL bMinimized CFrameWnd
  • 将数据库与 Elastic beanstalk 一起使用

    我一直在尝试在 AWS 上部署基于 Django 的问卷应用程序 就此而言 我对 AWS 和 Web 应用程序完全陌生 当我构建我的应用程序时 它在本地服务器上运行良好 我在 settings py 中使用了它 DATABASES defa
  • 在后台执行 Laravel/Symfony/Artisan 命令

    我需要在后台执行 Laravel 长时间运行的进程来使用 Twitter Streaming API 实际上 我需要运行的 php artisan CLI 命令是 nohup php artisan startStreaming gt de
  • 如何从 Django/postgreSQL 数据库中获取一个随机项目?

    所以我得到了database objects all 和database objects get name 但是我如何从数据库中获取一个随机项目 我无法弄清楚如何获得它并选择一个随机项目 从所有数据库对象的列表中选择随机元素并不是一个好的解
  • Sass 是连接而不是添加? [复制]

    这个问题在这里已经有答案了 我需要在 SCSS 代码中定义宽度 如下所示 example width currentWidth 349 important Where currentWidth由循环定义 然而 Sass 最终总是连接两个数字
  • Mac OSX:使用 dtruss?

    我正在尝试在 Mac OSX Catalina 中 dtruss 进程 但是 dtrace 报告错误 sudo dtruss whoami dtrace system integrity protection is on some feat
  • 如何调试 lxml.etree.XSLTParseError:无效的表达式错误

    我试图找出为什么 lxml 无法解析由带有各种内容的 根 文档组成的 XSL 文档xml includes 我收到错误 Traceback most recent call last File s py line 10 in
  • 使用 skimage 从多边形中提取图像片段

    我想获得通过剪切图像内的多边形而产生的子图像 我在 skimage 中有一个图像 在 matplotlib patches 中有一个多边形 怎么做 以下是我尝试过的 我不一定在寻找类似于下面的方法 我正在寻找最干净 最有效的实现 使用此代码
  • 如何卸载所有 Bower 软件包?

    有时 重建整个站点并强制 Bower 重新安装 Bower json 中所有软件包的新版本很有用 但是 似乎没有任何方法可以做到这一点 尝试 1 bower uninstall bower not installed 0 不 这只能在逐个包