bower 软件包更新使应用程序崩溃 - 如何回滚
Posted
技术标签:
【中文标题】bower 软件包更新使应用程序崩溃 - 如何回滚【英文标题】:bower packages update crashed the app - how to roll back 【发布时间】:2015-02-23 10:35:41 【问题描述】:我使用bower
为我的应用安装了另一个附加模块。由于bower.json
中的项目依赖关系不是很严格,并且自上次更新以来已经过去了很多时间,所以 bower 将很多包更新为较新的包。有很多变化,包之间的不兼容是主要应用程序崩溃的原因。
我从来没有要求过这个,这不是全面升级和调试的好时机。我怎样才能回滚到以前的包?
原始包源位于.gitignore
中,并使用 grunt
构建到一个文件中(所以我不能只恢复提交 - 因为 Bower 更新的包将在下一个版本中保持不变)
我找不到适合我的应用的旧包集(因为具有特定版本号的包源位于 .gitignore
)UPD:找到内置文件中的版本,请参阅my answer
我找不到任何有关“bower 包历史记录”或“bower 撤消”的信息。
UPD:我自己解决了这个问题,并在answer 中描述了解决方案。但我真的不确定这是否是一个好方法,并且会感谢任何关于该主题的指导。
【问题讨论】:
我建议您尝试解决导致您的应用崩溃的问题。 @WayneEllery,你的观点是对的,我们应该做干净和理想的应用程序。但有时您没有时间调试大量遗留代码 - 而您只想返回到以前的状态,将重要 问题计划为将来作为不那么紧急 的问题。 我对 Bower 不是很熟悉。您是否尝试过安装旧版本的 Angular ***.com/questions/19030170/… @WayneEllery,感谢您的 cmets。我重新设计了这个问题以使其更加清晰和具体,请您支持它,或者指出我还应该做些什么来使它成为一个好问题?我是***的新手,希望我能尽快学会发布更好的问题:) 【参考方案1】:我通过挖掘 bower
显示的不兼容性并找到妥协包集,为自己解决了这个问题。主要问题是某些软件包要求的最新angular
和仅在那一刻使用旧版本的angular-ui-bootsrap
。其他最新软件包也存在一些问题,我已降级并将稍后解决。所以我用bower install [PackageName]#=[SpecificPackageVersion]
(这里可以用--save
保存到bower.json)来手动设置妥协包。
当时我意识到,在构建文件的先前提交中存在旧的许可证注释块中的包版本,所以为了拥有旧的工作包集,我可以:
git checkout HEAD~1
有旧文件,它是用以前的包集构建的
grep
(搜索)其中的软件包名称或许可 cmets
bower install [PackageName]#=[OldWorkingPackageVersion]
(可以使用--save
保存到bower.json)
git checkout [BranchName]
让 HEAD 回来
进行构建(重新安装以前的软件包)
但是,我不确定这是否是一个好的解决方案,如果您对该主题进行任何形式的澄清,我将不胜感激。
【讨论】:
以上是关于bower 软件包更新使应用程序崩溃 - 如何回滚的主要内容,如果未能解决你的问题,请参考以下文章