2017-04-11 40 views
5

升級我的項目角4.0(2.4)與角CLI 1.0(從beta.31),我得到下面繼後錯誤migration guide的「@角/編譯器(CLI)」包安裝不正確

> ng build --prod 

The "@angular/compiler-cli" package was not properly installed. 
Error: The "@angular/compiler-cli" package was not properly installed. 
    at Object.<anonymous> (/home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/index.js:14:11) 
    at Module._compile (module.js:571:32) 
    at Object.Module._extensions..js (module.js:580:10) 
    at Module.load (module.js:488:32) 
    at tryModuleLoad (module.js:447:12) 
    at Function.Module._load (module.js:439:3) 
    at Module.require (module.js:498:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/home/jan/src/fm-repos/fm-ui/node_modules/@angular/cli/tasks/eject.js:10:19) 
    at Module._compile (module.js:571:32) 
    at Object.Module._extensions..js (module.js:580:10) 
    at Module.load (module.js:488:32) 
    at tryModuleLoad (module.js:447:12) 
    at Function.Module._load (module.js:439:3) 
    at Module.require (module.js:498:17) 
    at require (internal/module.js:20:19) 

我的角度依賴性遷移後:

"@angular/animations": "^4.0.0", 
"@angular/common": "^4.0.0", 
"@angular/compiler": "^4.0.0", 
"@angular/compiler-cli": "^4.0.0", 
"@angular/core": "^4.0.0", 
"@angular/forms": "^4.0.0", 
"@angular/http": "^4.0.0", 
"@angular/platform-browser": "^4.0.0", 
"@angular/platform-browser-dynamic": "^4.0.0", 
"@angular/router": "^4.0.0", 
"@angular/cli": "1.0.0", 
"@angular/material": "2.0.0-beta.3", 

注意:此相似的問題是關於角2項目:Angular2 CLI error "@angular/compiler-cli" package was not properly installed

+0

是你的@ angular/compiler-cli設置爲版本4嗎?匹配其他角度依賴性?你有沒有嘗試刪除你的項目的'node_modules'文件夾,然後'npm-install'? –

+0

我剛剛嘗試過我的本地,如果我將打字稿降級到低於2.1.0版本,我可以重現此錯誤。請更新至typescript 2.2.0,您的問題將得到解決。 –

+0

確實,@AhmedMusallam;在下面的答案發生變化後,一切正常! :D –

回答

9

確保你有你的package.json打字稿2.2,並確保您的tsconfig正確更新。

詳細

具有角安裝CLI 1.0,創建一個新的虛擬項目:

ng new dummy 

然後取出node_modules目錄:

rm -rf ./dummy/node_modules 
rm -rf ./myproject/node_modules 

diff之間的變化dummy項目和您的項目:

diff -bur ./dummy/ ./myproject/ 

的許多變化,必要的關鍵變化來解決這個錯誤對我來說是打字稿及tsconfig變化:

package.json

"typescript": "~2.0.3" ==> "typescript": "~2.2.0" 

.angular-cli.json

變化:

"tsconfig": "tsconfig.json" 

到:

"tsconfig": "tsconfig.app.json", 
"testTsconfig": "tsconfig.spec.json", 

,並從dummy項目中添加這些新文件,並安裝你的包:

npm install 
+1

感謝隊友,有用的方法與虛擬項目 – BobbyTables

0

我不得不運行OS 10.12我的Mac上同樣的錯誤消息。 4當我設置Angular 2.

我也有兩個不同的Windows 10機器上類似的問題。在Windows機器收到指出了錯誤,

Node_modules appears empty, you may need to run `npm install`. 

在這兩種情況下,我能夠在項目目錄中運行npm install來解決這個問題。

我走進了命令行/終端,然後進入地方項目被存放的目錄,例如:

c:\Users\myname\projectname> 

對於Windows我用npm install命令,並在Mac我用sudo npm install

在這兩種情況下都會照顧到這個問題。

+0

歡迎來到SO,吉姆。它看起來像你答案的第二部分「兩個不同的Windows 10機器上的類似問題」是一個單獨的問題(儘管有相同的解決方案:'npm install'),這應該是一個單獨的SO問題。 –

8

我在Linux機器上創建新的全新安裝 _ _ _ ____ _ /\ _ _ _ _ _ _ | | __ _ _ __/ | | || /△\ | ' \/_ | | | | |/ _ | '| | | | | | | / \ | | | | ( | | | | | |( | | | | | | | | | //__ | | | __,| __,| | __,| | ____ | _____ | | |/ @角/ CLI:1.0.1 節點:6.10.2 操作系統:Linux的x64

Aftere我創建使用

01個新的角度2項目

納克

項目成功創建新angularhellword但是當我執行命令

納克服務

鑑於我上述相同的錯誤,如

的「@角/編譯-cli「包未正確安裝。

請採取以下措施,以避免問題:

「NPM卸載--save-dev的角(CLI)」

「NPM安裝--save-dev的@角/ CLI @latest「

它適用於我和項目成功運行。

+0

這是迄今爲止這個問題的最簡單的解決方案,它的工作! –

2
npm uninstall -g angular-cli 
rm -rf ./node_modules 
rm package-lock.json 
npm install --save-dev @angular/[email protected] 

如果安裝最新版本還爲您提供了可以通過進程再次卸載的運行和手動輸入的版本錯誤角度-CLI驗證在角CLI回購最新發布之後。我的package.json列出^ 1.3。0,但只是發佈了一個測試版,當我手動改成了

"@angular/cli": "^1.3.0-beta.0"  
npm i 

它成功地

1

安裝對我來說沒有任何的解決方案上面的工作,但更新NPM和打字稿全球做了。

要更新,運行這些命令:

npm update 

npm update -g typescript 
+0

它也適用於我。感謝分享。 –

0

我什麼都試過,只爲我工作的事情是一個簡單的 NPM安裝

0

開放的package.json和移動@angular/cli下依賴關係如:

"dependencies": { 
    "@angular/animations": "^4.0.0", 
    "@angular/common": "^4.0.0", 
    "@angular/compiler": "^4.0.0", 
    "@angular/cli": "1.2.1", 
    "@angular/compiler-cli": "^4.3.1", 
    "@angular/core": "^4.0.0", 
    "@angular/forms": "^4.0.0", 
    "@angular/http": "^4.0.0", 
    "@angular/platform-browser": "^4.0.0", 
    "@angular/platform-browser-dynamic": "^4.0.0", 
    "@angular/router": "^4.0.0", 
    "core-js": "^2.4.1", 
    "rxjs": "^5.1.0", 
    "zone.js": "^0.8.4" 
    }, 

然後轉到項目文件夾中的通訊並提示並運行命令「npm install」。它會加載所有必要的依賴關係。

0

我剛剛更改爲「@ angular/compiler-cli」:「^ 4.3.2」來自「@ angular/compiler-cli」:「^ 4.0.0」,位於package.json文件的devDependencies中。

它爲我

0

此,像變魔術一樣

NPM安裝--save-dev的德爾

0

嘗試下列步驟請: 清理

remove node_modules from your project 
remove any angular-cli and @angular/cli references from package.json if it's there 
Uninstall angular-cli and @angular/cli globally: npm uninstall -g angular-cli @angular/cli 

重新安裝

Install @angular/cli globally: npm install -g @angular/cli 
Install @angular/cli in your project: npm install --save-dev @angular/cli