2016-02-02 22 views
2

当一个人发出bower install mypackage --save,默认情况下,对于版本,凉亭采用最新的补丁版本波浪范围选择(〜)前缀:指示凉亭默认使用精确的版本,而不是范围

"angular-ui-grid": "~3.1.0" 

因为在现实中的补丁版本并造成重大更改(我们已经与我们的dependencies包现在经历了这四次),我们想改变行为,以便使用semver,而不是确切的版本:

"angular-ui-grid": "3.1.0" 

有没有一种办法自动执行s或设置确切匹配默认?我不能指望开发团队的成员每次添加凉亭软件包时都要记得删除~

回答

3

你有read the documentation?它看起来像-E--save-exact是你需要的。

编辑:刚刚测试过它。这就是你需要的。然后,您的命令将

bower install mypackage --save-exact 

如果你想有一个是默认的,在你的主目录和/或类似项目目录创建一个.bowerrc

{ 
    "save-exact": true 
} 
+1

我只是读文档,并认为我可能会补充说,鲍尔也有前/后安装钩子。您也可以运行一个脚本来检查/删除bower.json文件中的版本号,或者(如果幸运的话)强制将'-E'参数传递给bower。 –

+0

谢谢,Sunil。这实际上非常有帮助。不幸的是,当我们有完整的堆栈开发人员处理前端代码时,相信开发人员要记住“--save-exact”是不现实的。 – core

+1

为了强制执行'-E',如果你正在运行一个BASH shell,你可以很容易地使它成为一个别名。像'alias bower ='bower -E''这样的东西可以放在.bash_profile脚本中。或者全局更多,它可以放在'/ etc/profile'中 –