【问题标题】:Bower: Cannot find suitable version for AngularBower:找不到适合 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"
  }
}

【问题讨论】:

    标签: javascript angularjs bower


    【解决方案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,一切都会恢复正常。

      希望这对您的情况有所帮助。

      【讨论】:

        猜你喜欢
        • 2014-11-12
        • 2016-06-21
        • 2015-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多