2017-03-28 452 views
6

我正在離線網絡工作,並希望使用npm安裝angular-cli。 我有一個角度cli的zip文件,並使用最新的節點和npm版本。 使用命令:npm install ./angular-cli-master從文件夾安裝angular-cli。 但我不斷收到這個錯誤告訴我,我沒有互聯網連接(這是好的)。 那麼如何在使用從github下載的zip的情況下安裝此角度cli?如何在離線時安裝npm軟件包?

感謝您的幫助

+0

你確定你的壓縮文件中還包含angular-cli的每個依賴嗎? – DrakaSAN

+0

林不知道,但現在我看到它試圖訪問https://registry.npmjs.org/webpack-merge。所以我想我必須使用這個文件才能使用npm命令。你有任何線索嗎? – Dorni

+0

如果你看[angular-cli的package.json](https://github.com/angular/angular-cli/blob/master/package.json#L100),你可以看到webpack合併是一個依賴關係,你需要在安裝angular-cli之前安裝所有依賴項。因爲它沒有安裝,npm試圖從互聯網上獲取它,並且失敗 – DrakaSAN

回答

6

只需將包和所有依賴項複製到您的node_modules文件夾,本地安裝項目中或全局文件夾中(npm config get prefix查看它所在的位置)以進行全局安裝。

npm install的行爲是檢查依賴關係,並首先安裝它們。當它沒有找到他們安裝,也沒有包含它們的本地文件,它會嘗試下載它們。

由於所有這些步驟都失敗(您沒有安裝依賴項,它在預期位置不可用,並且無法下載),安裝將失敗。

您可以在每個模塊的package.json中找到相關性列表,但由於它是遞歸的,因此如果手動完成所有設置,則需要很長時間,npm通過遞歸完成。

對你來說,最簡單的方法是在連接的PC上創建一個新文件夾,在裏面npm install angular-cli,壓縮該文件夾並將其傳輸到脫機機器上。

0

你可以找到故宮install命令的文檔在這裏:https://docs.npmjs.com/cli/install

我不太清楚,不幸的是,我沒有馬上來測試它自己的機會,但我將嘗試解壓縮文件夾並刪除點,如下所示: npm install/angular-cli-master (=安裝文件夾不是zip文件) 或者只是添加結尾的zip文件: npm install。 /angular-cli-master.tgz
(=安裝一個zi但是,文件結尾可能是.zip或其他內容)

2

簡短的回答,你不能。大多數NPM包,如@angular/cli需要其他的依賴和那些需要得到其安裝孩子的依賴性,當您運行npm install

你可以,但是,在網絡上,當安裝CLI和在離線狀態下使用。

+0

我認爲那是病態。但不會丟失位於%appdata%(在線PC)中的文件,我也必須移動這些文件? – Dorni

+1

我不認爲你需要什麼,一旦cli安裝,它應該工作得很好,不需要連接到互聯網。但是,如果您打算使用新的PROJ NAME創建新項目,則需要互聯網,因爲該項目本身需要安裝依賴項。你應該沒問題,如果只使用ng build,generate等等。 –