2017-02-27 47 views
1

我剛剛更新了我的角2的應用程序運行NPM更新,不幸的是,儘管沒有錯誤在終端顯示我的應用程序不運行了,就在我的控制檯是很多的誤區。無論如何,我可以扭轉更新?如何恢復角2更新

//錯誤

The stylesheet http://localhost:4200/app/assets/js/jquery.min.js was not loaded because its MIME type, 「application/javascript」, is not 「text/css」. localhost:4200 
GET 
http://localhost:4200/node_modules/zone.js/dist/zone.js [HTTP/1.1 404 Not Found 5ms] 
GET 
http://localhost:4200/systemjs.config.js [HTTP/1.1 404 Not Found 8ms] 
ReferenceError: System is not defined[Learn More] localhost:4200:29:5 
TypeError: f is undefined[Learn More] scripts.bundle.js%20line%2034%20%3E%20eval:15:3 
Unhandled Promise rejection: Failed to load ../bootstrap/css/bootstrap.min.css ; Zone: <root> ; Task: Promise.then ; Value: Failed to load ../bootstrap/css/bootstrap.min.css undefined vendor.bundle.js:129451:13 
Object { __zone_symbol__error: Error, fileName: Getter, lineNumber: Getter, columnNumber: Getter, message: Getter, name: Getter, stack: Getter, originalStack: Getter, zoneAwareStack: Getter, toString: createMethodProperty/props[key].value(), 5 more… } vendor.bundle.js:129453:9 

//package.json

{ 
    "name": "project", 
    "version": "0.0.0", 
    "license": "MIT", 
    "angular-cli": {}, 
    "scripts": { 
    "start": "ng serve", 
    "lint": "tslint \"src/**/*.ts\"", 
    "test": "ng test", 
    "pree2e": "webdriver-manager update", 
    "e2e": "protractor" 
    }, 
    "private": true, 
    "dependencies": { 
    "@angular/common": "~2.4.8", 
    "@angular/compiler": "~2.4.8", 
    "@angular/core": "~2.4.8", 
    "@angular/forms": "~2.4.8", 
    "@angular/http": "~2.4.8", 
    "@angular/platform-browser": "~2.4.8", 
    "@angular/platform-browser-dynamic": "~2.4.8", 
    "@angular/router": "~3.4.8", 
    "@types/lodash": "^4.14.50", 
    "angular-2-data-table": "^0.1.2", 
    "angular2-datatable": "^0.5.2", 
    "core-js": "^2.4.1", 
    "lodash": "^4.17.4", 
    "ng2-date-picker": "^0.2.1", 
    "ng2-file-upload": "^1.2.0", 
    "ng2-modal": "0.0.25", 
    "ng2-pagination": "^2.0.1", 
    "primeng": "^2.0.1", 
    "rxjs": "5.2.0", 
    "tinymce": "^4.5.2", 
    "ts-helpers": "^1.1.1", 
    "zone.js": "^0.7.7" 
    }, 
    "devDependencies": { 
    "@types/jasmine": "^2.2.30", 
    "@types/node": "^7.0.5", 
    "angular-cli": "1.0.0-beta.28.3", 
    "codelyzer": "3.0.0-beta.0", 
    "jasmine-core": "2.5.2", 
    "jasmine-spec-reporter": "3.2.0", 
    "karma": "1.5.0", 
    "karma-chrome-launcher": "^2.0.0", 
    "karma-cli": "^1.0.1", 
    "karma-jasmine": "^1.0.2", 
    "karma-remap-istanbul": "^0.6.0", 
    "protractor": "5.1.1", 
    "ts-node": "2.1.0", 
    "tslint": "4.4.2", 
    "typescript": "~2.2.1" 
    } 
} 
+1

你使用任何版本控制? npm沒有你的package.json看起來像什麼的整合歷史。 –

+1

'git reset --hard master'?嚴重的是,如果你沒有使用版本控制系統,那麼你做錯了。 –

+1

只需嘗試修復錯誤而不是恢復原狀。多麼美好的一天,你需要更新它們! – Aravind

回答

3
  1. 刪除您node_modules目錄

  2. 恢復以前的package.json文件從你的版本 控制系統

  3. 運行NPM安裝

您還刪除並重新創建您DIST或生成的文件,文件夾和重建。

編輯:您可以嘗試更新包@msanford方式,但要注意有時還是會升級到不兼容的版本。我總是嘗試使用維護良好的種子版本的已知可以很好地協同工作的軟件包。特別針對zonejs。

+0

他沒有更新他的'package.json' – msanford

+0

在npm更新後我看不到另一個問題的原因。 –

+0

也許他的包是瘋狂過時的,但^ /〜說明符允許安裝一個不再與他的架構/依賴關係/同級等兼容的更新版本。 – msanford

4

如果您認爲更新了自己的安裝節點模塊是難辭其咎的,和你有不修改package.json進入你的package.json和版本號之前(臨時)刪除^~;再次嘗試npm install

這將指示npm安裝指定的確切補丁版本,並且不會嘗試將其升級到最新補丁(~)或最新的次要版本(^)版本。

當您運行npm update,說叫NPM去獲取每個指定的包,的最新版本最多允許最新的補丁/次,由〜^或指示。您可能以這種方式引入了不兼容性。如果你改變了你的package.json文件,所以如果你做了,試試他的建議

Ben的建議是適當的。

+0

我必須將它從everyline中刪除? – Switz

+0

@Switz現在我在懷疑自己,因爲你運行的角度是2.4.8,這是最近的......這只是一個調試步驟。嘗試一下。查找和替換。這當然假設你沒有修改你的包文件,在這種情況下,這個答案對你來說是沒用的。 – msanford

+1

我可以對你的建議說同樣的話。從我+1。 –