什麼是yarn
一種取代npm的 Node的模組管理器,從使用上來看,從npm過度到yarn幾乎零成本,除了操作上相近,yarn 同樣是一個從 npm 註冊源獲取模組的工具。
為什麼要使用yarn來代替npm呢?從官網的介紹(FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT)可以看出來他比npm更加快速、安全,但我選擇yarn一個重要的原因是:yarn有一個 yarn.lock 檔案,每次模組被新增時,yarn 就會建立(或更新)yarn.lock 檔案,這個檔案保證了保證了不同機器下載的包的版本都一樣,而npm會根據package.json定義的版本號範圍下載包,導致不同機器或者不同時間下載的包的版本不一樣。
注意!npm 5.0.x 版本已經會在執行npm i
的時候生成package-lock.json
的檔案,作用就像上面說的一樣,“鎖”住版本。(但npm新版本還不太穩定,可以等一段時間再使用)
接下來進入正題,Mac安裝yarn
yarn 官網 介紹是通過 Homebrew 安裝
brew install yarn
複製程式碼
但是安裝下來的版本為0.16.1,版本太低,需要升級,重點是我通過 brew upgrade yarn 也無法將yarn的版本升級到最新版本。折騰了幾遍之後也無法解決,想著用到伺服器也不需要Homebrew,那就改用其它安裝方式吧。下面是解決方式(不管是安裝或者更新):
- 手動移除本地二進位制
yarn
檔案:
rm -f /usr/local/bin/yarnpkg
rm -f /usr/local/bin/yarn
複製程式碼
- 移除快取:
rm -rf ${HOME}/.yarn
複製程式碼
- 如果之前存在環境變數,在
.zshrc
或.bash_profile
有下面配置,移除它:
export PATH="$PATH:`yarn global bin`"
複製程式碼
- 通過
curl
安裝yarn
:
curl -o- -L https://yarnpkg.com/install.sh | bash
複製程式碼
這裡檢視一下我電腦裡的版本:
$ yarn -v
1.3.2
複製程式碼
顯示是1.3.2版本,那麼現在讓我們執行上面指令碼的下載並安裝:
成功安裝最新版本(1.6.0)
- 看環境變數是否已修改,檢視
.zshrc
或者.bash_profile
,如果沒有請新增下面一行:
export PATH="$PATH:$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin"
複製程式碼
執行 yarn -v
檢視是否正常。正常的話就可以開始使用 yarn
:
使用 create-react-app 一個 TypeScript 專案
$ yarn create react-app antd-demo-ts --scripts-version=react-scripts-ts
....
$ cd antd-demo-ts
$ yarn start
複製程式碼
curl
curl命令是一個利用URL規則在命令列下工作的檔案傳輸工具。它支援檔案的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱curl為下載工具。作為一款強力工具,curl支援包括HTTP、HTTPS、ftp等眾多協議,還支援POST、cookies、認證、從指定偏移處下載部分檔案、使用者代理字串、限速、檔案大小、進度條等特徵。
與wget
區別:wget
是個專職的下載利器,可以遞迴,支援斷點;而curl
多用來除錯網頁,提交web資料,可以post/get請求,可以自定義傳送頭
- -o filename url 引數是儲存網頁內容到檔案中
- -L 進行重定向