2017-02-18 9 views
0

Я пытаюсь создать новую среду разработки для приложения, используя angularfire2 пакет, загружающий исходный код из репозитория.npm загружает версию пакета (angularfire2), отличную от той, которая указана в package.json

В package.json файл указывает на версию 2.0.0 -beta.6 из angularfire2, как показано в следующем фрагменте кода

{ 
    "name": "blah blah", 
    "author": "blah blah", 
    ... 
    "dependencies": { 
    .... 
    "angularfire2": "^2.0.0-beta.6", 
    ... 
    } 
    ..... 
} 

Я run npm установить, чтобы загрузить все пакеты мне нужно ,

К сожалению, в случае angularfire2, что получает скачано кажется другая версия пакета (вероятно, 2.0.0-beta.8), который имеет несколько критические изменения в отношении к версии 2.0.0 -b.6..

Как это возможно?

package.json файл в каталоге angularfire2 (под node_modules) следующая

{ 
    "_args": [ 
    [ 
     { 
     "raw": "[email protected]^2.0.0-beta.6", 
     "scope": null, 
     "escapedName": "angularfire2", 
     "name": "angularfire2", 
     "rawSpec": "^2.0.0-beta.6", 
     "spec": ">=2.0.0-beta.6 <3.0.0", 
     "type": "range" 
     }, 
     "/Users/penrico/ThoughWorks/code/angular/castella" 
    ] 
    ], 
    "_from": "angularfire[email protected]>=2.0.0-beta.6 <3.0.0", 
    "_id": "[email protected]", 
    "_inCache": true, 
    "_location": "/angularfire2", 
    "_nodeVersion": "6.9.1", 
    "_npmOperationalInternal": { 
    "host": "packages-18-east.internal.npmjs.com", 
    "tmp": "tmp/angularfire2-2.0.0-beta.8.tgz_1487250058126_0.7350442344322801" 
    }, 
    "_npmUser": { 
    "name": "davideast", 
    "email": "[email protected]" 
    }, 
    "_npmVersion": "3.10.8", 
    "_phantomChildren": {}, 
    "_requested": { 
    "raw": "[email protected]^2.0.0-beta.6", 
    "scope": null, 
    "escapedName": "angularfire2", 
    "name": "angularfire2", 
    "rawSpec": "^2.0.0-beta.6", 
    "spec": ">=2.0.0-beta.6 <3.0.0", 
    "type": "range" 
    }, 
    "_requiredBy": [ 
    "/" 
    ], 
    "_resolved": "https://registry.npmjs.org/angularfire2/-/angularfire2-2.0.0-beta.8.tgz", 
    "_shasum": "8ec172ff17448c3ccdb79e9c6179da556ff05e1b", 
    "_shrinkwrap": null, 
    "_spec": "[email protected]^2.0.0-beta.6", 
    "_where": "/Users/penrico/ThoughWorks/code/angular/castella", 
    "author": { 
    "name": "jeffbcross,davideast" 
    }, 
    "bugs": { 
    "url": "https://github.com/angular/angularfire2/issues" 
    }, 
    "dependencies": {}, 
    "description": "<p align=\"center\"> <h1 align=\"center\">AngularFire2</h1> <p align=\"center\">The official library for Firebase and Angular 2</p> </p>", 
    "devDependencies": { 
    "@angular/compiler-cli": "^2.0.0", 
    "@angular/platform-server": "^2.0.0-rc.5", 
    "@types/jasmine": "^2.5.36", 
    "@types/request": "0.0.30", 
    "concurrently": "^2.2.0", 
    "conventional-changelog-cli": "^1.2.0", 
    "es6-module-loader": "^0.17.10", 
    "es6-shim": "^0.35.0", 
    "gulp": "^3.9.0", 
    "gulp-jasmine": "^2.2.1", 
    "gulp-typescript": "^2.10.0", 
    "http-server": "^0.8.5", 
    "jasmine": "^2.4.1", 
    "jasmine-core": "^2.4.1", 
    "json": "^9.0.3", 
    "karma": "^0.13.19", 
    "karma-chrome-launcher": "^0.2.2", 
    "karma-firefox-launcher": "^0.1.7", 
    "karma-jasmine": "^0.3.6", 
    "karma-mocha-reporter": "^2.0.2", 
    "karma-systemjs": "^0.10.0", 
    "ncp": "^2.0.0", 
    "parse5": "^1.3.2", 
    "protractor": "3.0.0", 
    "reflect-metadata": "0.1.2", 
    "rimraf": "^2.5.4", 
    "rollup": "^0.35.11", 
    "rollup-watch": "^2.5.0", 
    "systemjs": "^0.19.16", 
    "systemjs-builder": "^0.15.7", 
    "traceur": "0.0.96", 
    "typedoc": "github:jeffbcross/typedoc", 
    "typescript": "^2.0.2", 
    "zone.js": "^0.7.2" 
    }, 
    "directories": {}, 
    "dist": { 
    "shasum": "8ec172ff17448c3ccdb79e9c6179da556ff05e1b", 
    "tarball": "https://registry.npmjs.org/angularfire2/-/angularfire2-2.0.0-beta.8.tgz" 
    }, 
    "homepage": "https://github.com/angular/angularfire2#readme", 
    "keywords": [ 
    "angular2", 
    "angular", 
    "firebase" 
    ], 
    "license": "MIT", 
    "main": "bundles/angularfire2.umd.js", 
    "maintainers": [ 
    { 
     "name": "angularcore", 
     "email": "[email protected]" 
    }, 
    { 
     "name": "davideast", 
     "email": "[email protected]" 
    }, 
    { 
     "name": "jeffbcross", 
     "email": "[email protected]" 
    } 
    ], 
    "module": "index.js", 
    "name": "angularfire2", 
    "optionalDependencies": {}, 
    "peerDependencies": { 
    "@angular/common": "^2.0.0", 
    "@angular/compiler": "^2.0.0", 
    "@angular/core": "^2.0.0", 
    "@angular/platform-browser": "^2.0.0", 
    "@angular/platform-browser-dynamic": "^2.0.0", 
    "firebase": "^3.0.0", 
    "rxjs": "^5.0.1" 
    }, 
    "readme": "ERROR: No README data found!", 
    "repository": { 
    "type": "git", 
    "url": "git+https://github.com/angular/angularfire2.git" 
    }, 
    "scripts": {}, 
    "typings": "index.d.ts", 
    "version": "2.0.0-beta.8" 
} 

Первое изменение ломка (просто сделать пример, которая поддерживает мою теорию, что это другая версия пакета) заключается в том, что больше нет FirebaseAuth (который, как представляется, подставляется AngularFireAuth).

ответ

1

Это установка более поздней версии, так как эта версия удовлетворяет caret range вы указали в package.json файле:

"angularfire2": "^2.0.0-beta.6" 

Если вы хотите конкретную версию, удалите кареткой:

"angularfire2": "2.0.0-beta.6" 

Глядя на spec - в соответствии с этим NPM заполнил под _requested в файле package.json, который находится в node_modules/angularfire2 - вы можете видеть, что диапазон каретки, который вы указали, является e квивалент к:

"spec": ">=2.0.0-beta.6 <3.0.0", 
+0

Кроме того, на определенном этапе вы должны рассмотреть вопрос об устранении изменений, поскольку с ошибкой «2.0.0-beta.6» было исправлено несколько ошибок и проблем с производительностью. – cartant