你如何卸载所有的凉亭包?

Dou*_*oug 68 javascript bower

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

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

尝试#1:

$ bower uninstall
bower not-installed 0
Run Code Online (Sandbox Code Playgroud)

不,这只能逐个打包,即使干净的'bower install'使用bower.json.

尝试#2:

$ bower install -f -l 0
$
Run Code Online (Sandbox Code Playgroud)

不,尽管'-f',如果满足依赖关系,这绝对没有任何意义.

尝试#3:

$ rm -r bower_components
$
Run Code Online (Sandbox Code Playgroud)

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

rm: bower_components: No such file or directory
Run Code Online (Sandbox Code Playgroud)

哦,这个项目中有一个.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.
Run Code Online (Sandbox Code Playgroud)

我认为它可以工作,但重复设置非常烦人.

我错过了什么吗?

是否有一个简单的bower命令来删除本地安装的模块?

看起来像我希望凉亭卸载的真正基本功能.

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

上下文

编辑:如果你想要这样一个任务的"动力",那就是:我们有一个jenkins服务器来构建我们的项目并运行测试.然而,由于没有明显的原因,它会定期失败; 调查,几乎总是因为jenkins在构建和运行测试之前只使用git-pull来使用存储库的先前副本来更新到最新版本; 结果,之前的bower_components目录就在那里,并且它充满了各种组件的缓存副本.

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

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

2)一些项目已经从凉亭下移/移动了它的github页面

3)某些项目(> _> jquery)已经改变了在非主要版本修订中布置文件的方式.

我意识到这个问题的"正确"解决方案是:修复jenkins,以便为每个构建创建一个新的临时目录.......但那不在我的掌控之中.

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

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

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

Vto*_*one 148

更新的答案

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

$ bower update
Run Code Online (Sandbox Code Playgroud)

原始答案

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

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

$ bower prune
Run Code Online (Sandbox Code Playgroud)
  1. 从...开始 -

    "devDependencies": {
        "angular": "~1.2.15",
        "angular-ui-router": "~0.2.10",
        "moment": "~2.5.1"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 从文件中删除角度引用 -

    "devDependencies": {
        "moment": "~2.5.1"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 执行

    $ bower prune
    
    Run Code Online (Sandbox Code Playgroud)
  4. 观察您的角度依赖项是否已卸载


小智 10

怎么样

  1. 编辑bower.json
  2. 'rm -Rf bower_components/*'
  3. 凉亭安装

我试图从0.2.3升级到聚合物0.2.4.我似乎无法找到一种快速卸载一组依赖项的方法.所以我只是在bower_components下手动删除了那些聚合物*dir.但由于某种原因,凉亭一直记得我在修改了bower.json的情况下安装了0.2.3事件.'rm -Rf bower_component/*'似乎在做技巧.


Jum*_*nco 6

实际上我做了一些有点棘手的事情,但它对我有用:

  1. for package in $(ls your_bower_components_folder); do bower uninstall "$package"; done;
  2. bower install


Nun*_*nto 5

卸载包

要删除程序包,可以使用uninstall命令,后跟要删除的程序包的名称.

凉亭卸载

通过列出软件包名称,可以一次删除多个软件包.

bower uninstall jquery modernizr sass-bootstrap