yarn是Facebook團隊開發的快速、可靠、安全的依賴管理工具。相比於npm包管理工具,yarn的離線模式更適用於在沒有網絡鏈接的情況下進行項目依賴安裝及構建。
優勢
-
極其快速
Yarn 會緩存它下載的每個包,所以無需重複下載。它還能並行化操作以最大化資源利用率,安裝速度之快前所未有。 -
特別安全
Yarn會在每個安裝包被執行前校驗其完整性。 -
超級可靠
Yarn 使用格式詳盡而又簡潔的 lockfile文件 和確定性算法來安裝依賴,能夠保證在一個系統上的運行的安裝過程也會以同樣的方式運行在其他系統上。
特點
-
離線模式
如果你之前安裝過某個包,你就可以在沒有網絡連接的情況下再次安裝它。 -
確定性
不管是什麼順序,在不同的機器上的依賴會以同一方式安裝。 -
網絡性能
Yarn可以高效地隊列化請求並且避免請求瀑布化,使網絡利用率最大化。 -
相同的軟件包
從 npm 安裝軟件包並使用相同的包管理流程。 -
網絡適應
單個請求失敗不會導致安裝失敗,請求失敗時會重試。 -
扁平模式
解析不匹配的依賴版本爲一個單一的版本來避免導致多個版本。
安裝yarn
-
從官網下載源碼包並上傳到目標服務器
1
scp -r ~/Downloads/yarn-v1.12.3.tar.gz user@host:path
-
解壓程序包到目標目錄
1
tar zvxf yarn-v1.12.3.tar.gz -C /opt
-
設置環境變量vim /etc/profile,將下面代碼添加到文件最後
1 2
export NODEJS_HOME=/opt/yarn-v1.12.3/bin export PATH=$NODEJS_HOME:$PATH
-
刷新文件配置
1
. /etc/profile
-
運行命令來測試 Yarn 是否安裝:
1
yarn --version
配置離線鏡像
首先我們需要設置一個目錄作爲我們的“離線鏡像”存儲,我們可以使用yarn config命令:
1 |
yarn config set yarn-offline-mirror ./npm-packages-offline-cache |
./npm-packages-offline-cache是相對於主文件夾的示例位置,其中所有source.tar.gz文件將從註冊表下載。
脫機鏡像不會刪除tar包。爲了使緩存文件夾保持最新,您需要將以下內容添加到配置文件中:
1 |
yarn config set yarn-offline-mirror-pruning true |
如何測試以確保它處於脫機狀態?
- 使用“yarn cache clean”清除全局緩存
- 關掉wifi
- 運行“yarn install -offline”。離線標誌將確保yarn不會到達網絡
簡而言之,要爲您的項目啓用“離線鏡像”,您需要:
- 將“yarn-offline-mirror”配置添加到.yarnrc文件中
- 使用“yarn install”命令生成一個新的yarn.lock