首發於 語雀文檔node
第 1 次
直接安裝,不可行,由於是私有依賴,根本安裝不上。react
第 2 次
流程:webpack
- 拷貝依賴到項目目錄 library 中
- 經過 webpack alias 別名的方式關聯依賴
不可行,npm run start 運行報錯,缺乏依賴。git
想一想也是,
依賴的依賴其實在咱們 npm install 的時候也是一塊兒安裝上的,
而我經過上述流程 1→2 的方式關聯依賴,缺乏了依賴的依賴被安裝的過程,天然會報缺乏依賴的錯誤。
第 3 次
依賴 react-color-ui
依賴 react-color-ui 的依賴 react-input-tags
均爲私有依賴,沒法經過 npm install 安裝
但願經過離線安裝依賴的方式。web
- 在外網機中使用 npm-pack-all 命令將 react-color-ui 依賴打包成了 tgz 文件
- 將 tgz 文件拷貝入內網機,並放置到項目根目錄中
- 使用 npm install react-color-ui.tgz --save 命令安裝 react-color-ui
- 安裝失敗,提示報錯:沒法獲取 react-input-tags 依賴
實際上是由於個人 react-color-ui 項目目錄下的 node_modules 不全,致使依賴沒打包好。
這也就是爲何更推薦你們使用 npm install xxx -g 全局安裝的方式安裝依賴。
由於全局安裝的特色就是:這個包的全部依賴包都安裝在了本身的目錄下的 node_modules 子目錄裏。
第 4 次
- 安裝 npm-pack-all,用於將依賴打成 tgz 格式的離線安裝包
- 將 react-color-ui(源碼包)中的除 node_modules 和 dist 外的文件刪除
- 將 react-color-ui(源碼包)dist 目錄下除 node_modules 外的文件剪切到 react-color-ui(源碼包)的根目錄下
- 刪除 react-color-ui(源碼包)的 dist 目錄
- 在 react-color-ui(源碼包)目錄下打開 git bash,執行 npm-pack-all,將依賴打包成離線安裝包
其實就是模擬 npm install 全局安裝的效果。
全局安裝的特色就是:這個包的全部依賴包都安裝在了本身的目錄下的 node_modules 子目錄裏。
產出
最後總結一下我產出了什麼npm
- react-color-ui 依賴安裝指南
- react-color-ui 離線安裝包製做指南
- react-color-ui-版本號.tgz 離線安裝包
- 將另外一個私有依賴也使用該方式安裝到項目中
通用作法
固然,以上是爲適配我項目的一點變通作法(尤爲是234步),通用的作法是:(和參考文章其實差很少)bash
- 使用 npm install -g xxx 命令全局安裝依賴
- 找到所安裝依賴文件位置
- 右鍵打開 git bash,執行 npm-pack-all,將依賴打包成 tgz 格式的離線安裝包
- 將離線安裝包拷貝入內網機的項目根目錄中
- 右鍵打開 git bash,npm install xxx --save 將依賴安裝
- Success!!!
參考文章
- 離線環境安裝npm包