Bower:找不到适合 Angular 的版本
Posted
技术标签:
【中文标题】Bower:找不到适合 Angular 的版本【英文标题】:Bower: Cannot find suitable version for Angular 【发布时间】:2017-04-22 06:47:11 【问题描述】:这可能是一个新手问题,但我不明白为什么当我运行 bower (1.7.9) 时找不到适合 Angular 的版本:
bower install
或者当我运行时它找不到适合 Angular-translate 的版本时:
bower update
(为什么当我在上面运行任一命令时它甚至给我一个不同的错误?)
我已将每个包更新到最新版本,但我没有找到任何需要旧版本 Angular 的包。这是我的 bower.json:
"name": "test",
"homepage": "http://www.google.nl",
"version": "0.2.1",
"ignore": [
".jshintrc",
"**/*.txt"
],
"dependencies":
"angular": "1.5.9",
"angular-animate": "1.6.0-rc.2",
"angular-bootstrap": "2.3.0",
"angular-cookies": "1.6.0-rc.2",
"angular-hotkeys": "0.2.2",
"angular-i18n": "1.6.0-rc.2",
"angular-route": "1.6.0-rc.2",
"angular-translate": "2.13.1",
"angular-sanitize": "1.6.0-rc.2",
"angular-translate-loader-static-files": "2.8.1",
"angular-ui-bootstrap-datetimepicker": "2.0.3",
"angular-loading-bar": "0.9.0",
"jquery": "3.1.1",
"moment": "2.17.1",
"ng-dialog": "0.6.4",
"ng-focus-if": "1.0.7",
"ng-tags-input": "3.1.1",
"ngInfiniteScroll": "https://github.com/hlsolutions/ngInfiniteScroll.git#scroll-on-any-lement",
"angular-ui-select": "0.19.6",
"placeholders": "https://github.com/jamesallardice/Placeholders.js.git#~4.0.1",
"angular-atomic-notify": "~1.0.3",
"underscore": "https://github.com/components/underscore.git#~1.8.3",
"angulartics-google-analytics": "0.4.0",
"angular-ui-tinymce": "~0.0.17",
"angular-collection": "~0.5.2",
"angular-mocks": "1.6.0-rc.2",
"angular-translate-handler-log": "2.13.1"
【问题讨论】:
【参考方案1】:查看similar question 的最终答案是否有帮助
“我没有运行 bower install library -save,而是将最新版本的库直接添加到了我的 bower.json 并添加了分辨率...”
【讨论】:
我在上面的示例中就是这样做的,但这并没有解决我的问题【参考方案2】:我看到的问题与:
"angular-translate": "2.13.1",
...
"angular-translate-loader-static-files": "2.8.1",
问题是: - 您要求准确的版本 - angular-translate-loader-static-files 也请求 angular-translate,但它需要相同的版本 (2.8.1) - bower 不允许同一个库有多个版本
一种解决方案是: "angular-translate-loader-static-files": "2.13.1"
Angular 也有同样的问题,你应该使用 "angular": "1.6.0-rc.2" 因为你已经为其他依赖 angular 的模块请求了这个版本。
但是,这不一定是最好的方法,因为例如我看到您正在使用一些需要 angular
一个更好的主意是更宽松地要求版本(例如“angular”:“>=1.5.x”),然后让 bower 为您的所有依赖项找到最合适的版本 - 但这很可能需要您工作使用旧版本或存在不兼容问题。
【讨论】:
【参考方案3】:当您已经在项目的 bower_components 中下载了旧版本的库(这里是 angular)时,通常会发生这种情况。
通常要解决这个问题,我只是在重新安装凉亭之前清空我的 bower_components,一切都会恢复正常。
希望这对您的情况有所帮助。
【讨论】:
以上是关于Bower:找不到适合 Angular 的版本的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 composer bower-asset/jquery 更新 yii2 找不到
Angular 和 Typescript:找不到名称 - 错误:找不到名称