記錄一下我離線依賴遷移安裝的具體嘗試過程

首發於 語雀文檔node

第 1 次

直接安裝,不可行,由於是私有依賴,根本安裝不上。react

第 2 次

流程:webpack

  1. 拷貝依賴到項目目錄 library 中
  2. 經過 webpack alias 別名的方式關聯依賴

不可行,npm run start 運行報錯,缺乏依賴。git

想一想也是,
依賴的依賴其實在咱們 npm install 的時候也是一塊兒安裝上的,
而我經過上述流程 1→2 的方式關聯依賴,缺乏了依賴的依賴被安裝的過程,天然會報缺乏依賴的錯誤。

第 3 次

依賴 react-color-ui
依賴 react-color-ui 的依賴 react-input-tags
均爲私有依賴,沒法經過 npm install 安裝

但願經過離線安裝依賴的方式。web

  1. 在外網機中使用 npm-pack-all 命令將 react-color-ui 依賴打包成了 tgz 文件
  2. 將 tgz 文件拷貝入內網機,並放置到項目根目錄中
  3. 使用 npm install react-color-ui.tgz --save 命令安裝 react-color-ui
  4. 安裝失敗,提示報錯:沒法獲取 react-input-tags 依賴
實際上是由於個人 react-color-ui 項目目錄下的 node_modules 不全,致使依賴沒打包好。
這也就是爲何更推薦你們使用 npm install xxx -g 全局安裝的方式安裝依賴。
由於全局安裝的特色就是:這個包的全部依賴包都安裝在了本身的目錄下的 node_modules 子目錄裏。

第 4 次

  1. 安裝 npm-pack-all,用於將依賴打成 tgz 格式的離線安裝包
  2. 將 react-color-ui(源碼包)中的除 node_modules 和 dist 外的文件刪除
  3. 將 react-color-ui(源碼包)dist 目錄下除 node_modules 外的文件剪切到 react-color-ui(源碼包)的根目錄下
  4. 刪除 react-color-ui(源碼包)的 dist 目錄
  5. 在 react-color-ui(源碼包)目錄下打開 git bash,執行 npm-pack-all,將依賴打包成離線安裝包
其實就是模擬 npm install 全局安裝的效果。
全局安裝的特色就是:這個包的全部依賴包都安裝在了本身的目錄下的 node_modules 子目錄裏。

產出

最後總結一下我產出了什麼npm

  1. react-color-ui 依賴安裝指南
  2. react-color-ui 離線安裝包製做指南
  3. react-color-ui-版本號.tgz 離線安裝包
  4. 將另外一個私有依賴也使用該方式安裝到項目中

通用作法

固然,以上是爲適配我項目的一點變通作法(尤爲是234步),通用的作法是:(和參考文章其實差很少)bash

  1. 使用 npm install -g xxx 命令全局安裝依賴
  2. 找到所安裝依賴文件位置
  3. 右鍵打開 git bash,執行 npm-pack-all,將依賴打包成 tgz 格式的離線安裝包
  4. 將離線安裝包拷貝入內網機的項目根目錄中
  5. 右鍵打開 git bash,npm install xxx --save 將依賴安裝
  6. Success!!!

參考文章

  1. 離線環境安裝npm包
相關文章
相關標籤/搜索