有时,重建整个站点并强制bower重新安装bower.json中所有软件包的新版本是有用的.
但是,似乎没有办法做到这一点:
$ bower uninstall
bower not-installed 0
Run Code Online (Sandbox Code Playgroud)
不,这只能逐个打包,即使干净的'bower install'使用bower.json.
$ bower install -f -l 0
$
Run Code Online (Sandbox Code Playgroud)
不,尽管'-f',如果满足依赖关系,这绝对没有任何意义.
$ 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)
从...开始 -
"devDependencies": {
"angular": "~1.2.15",
"angular-ui-router": "~0.2.10",
"moment": "~2.5.1"
}
Run Code Online (Sandbox Code Playgroud)从文件中删除角度引用 -
"devDependencies": {
"moment": "~2.5.1"
}
Run Code Online (Sandbox Code Playgroud)执行
$ bower prune
Run Code Online (Sandbox Code Playgroud)观察您的角度依赖项是否已卸载
小智 10
怎么样
我试图从0.2.3升级到聚合物0.2.4.我似乎无法找到一种快速卸载一组依赖项的方法.所以我只是在bower_components下手动删除了那些聚合物*dir.但由于某种原因,凉亭一直记得我在修改了bower.json的情况下安装了0.2.3事件.'rm -Rf bower_component/*'似乎在做技巧.
实际上我做了一些有点棘手的事情,但它对我有用:
for package in $(ls your_bower_components_folder); do bower uninstall "$package"; done;bower install卸载包
要删除程序包,可以使用uninstall命令,后跟要删除的程序包的名称.
凉亭卸载
通过列出软件包名称,可以一次删除多个软件包.
bower uninstall jquery modernizr sass-bootstrap
| 归档时间: |
|
| 查看次数: |
82756 次 |
| 最近记录: |