2016-12-29 5 views
0

У меня есть приложение Angular 2, и я пытаюсь использовать угловую2-идеальную прокрутку.Angular 2 peer Требования к зависимостям

Но я получаю ошибки зависимостей сверстников. Я googled и попытался понизить rxjs, но все еще не работает.

enter image description here

Мой файл package.json выглядит следующим образом:

"license": "", 
    "dependencies": { 
    "@angular/common": "~2.1.2", 
    "@angular/compiler": "~2.1.2", 
    "@angular/core": "~2.1.2", 
    "@angular/forms": "~2.1.2", 
    "@angular/http": "~2.1.2", 
    "@angular/platform-browser": "~2.1.2", 
    "@angular/platform-browser-dynamic": "~2.1.2", 
    "@angular/router": "~3.1.2", 
    "@ngstarter/systemjs-extension": "1.0.0-rc.4", 
    "@types/core-js": "^0.9.34", 
    "@types/jasmine": "^2.5.36", 
    "@types/lodash": "^4.14.37", 
    "@types/selenium-webdriver": "^2.44.28", 
    "bootstrap": "^3.3.7", 
    "chart.js": "^2.4.0", 
    "codelyzer": "1.0.0-beta.3", 
    "core-js": "^2.4.1", 
    "del": "~2.2.2", 
    "font-awesome": "^4.7.0", 
    "glob": "^7.0.6", 
    "gulp": "^3.9.1", 
    "gulp-cssnano": "^2.1.2", 
    "gulp-if": "~2.0.1", 
    "gulp-less": "^3.3.0", 
    "gulp-protractor": "^3.0.0", 
    "gulp-rev": "^7.1.2", 
    "gulp-rev-replace": "^0.4.3", 
    "gulp-sourcemaps": "^2.2.0", 
    "gulp-template": "^4.0.0", 
    "gulp-tslint": "6.1.2", 
    "gulp-typescript": "~3.1.2", 
    "gulp-uglify": "~2.0.0", 
    "gulp-useref": "~3.1.2", 
    "jasmine-core": "~2.5.0", 
    "jquery": "^3.1.0", 
    "karma": "~1.3.0", 
    "karma-coverage": "~1.1.1", 
    "karma-ie-launcher": "^1.0.0", 
    "karma-jasmine": "~1.0.2", 
    "karma-sourcemap-loader": "^0.3.7", 
    "lodash": "^4.15.0", 
    "ng2-charts": "^1.4.4", 
    "remap-istanbul": "~0.6.4", 
    "require-dir": "~0.3.0", 
    "run-sequence": "~1.2.2", 
    "rxjs": "5.0.0-beta.12", 
    "systemjs": "^0.19.40", 
    "tslint": "~3.15.1", 
    "typescript": "^2.0.10", 
    "underscore": "^1.8.3", 
    "yargs": "^6.3.0", 
    "zone.js": "^0.6.26" 
    }, 
    "devDependencies": { 
    "browser-sync": "^2.17.5", 
    "connect-history-api-fallback": "^1.2.0", 
    "gulp-util": "^3.0.7", 
    "gulp-war": "^0.1.4", 
    "gulp-zip": "^3.2.0", 
    "ts-node": "^1.6.1" 
    } 
} 

ответ

1

Глядя статьей 9 semantic versioning specification: предварительные версии

имеют более низкий приоритет, чем связанные с ними нормальный версия.

Мое понимание здесь заключается в том, что версия предварительной версии всегда выше, чем любая предыдущая основная версия, но всегда ниже, чем любая версия без предварительной версии в той же основной версии.

Например, данные rxjs: v4.x.x < v5.0.0-beta.12 < v5.0.0

И вот где ваша проблема заключается: в версии @angular, что вы используете ожидать версию rxjs, что не совместимые с версией ожидаемого angular2 совершенного-скроллингом.

Есть два решения этого:

  • Игнорировать ошибку в экспертных зависимости, и использовать релиз v5.0.0. Это, вероятно, не очень хорошая идея, однако у вас могут быть и другие ограничения, которые делают это стоящим сейчас. Одноранговые зависимости разработаны таким образом, что вы можете предоставить свою собственную версию библиотеки (а не ограничиваться версией, используемой другой библиотекой), поэтому я не думаю, что это слишком проблематично. Просто убедитесь, что вы проверяете, что то, что вы используете из каждой библиотеки, является стабильным для версии rxjs.
  • Возможно, лучшее решение: обновите версию @angular, которую вы используете.