一、yarn的簡介:
Yarn是facebook發(fā)布的一款取代npm的包管理工具。
二、yarn的特點:
????? 1.速度超快。
???????? Yarn 緩存了每個下載過的包,所以再次使用時無需重復(fù)下載。 同時利用并行下載以最大化資源利用率,因此安裝速度更快。
????? 2.超級安全。
???????? 在執(zhí)行代碼之前,Yarn 會通過算法校驗每個安裝包的完整性。
????? 3.超級可靠。
???????? 使用詳細、簡潔的鎖文件格式和明確的安裝算法,Yarn 能夠保證在不同系統(tǒng)上無差異的工作。
三、yarn的安裝:
下載node.js,使用npm安裝
npm install -g yarn
查看版本:
yarn --version
Yarn 淘寶源安裝
yarn config set registryhttps://registry.npm.taobao.org-g
yarn config set sass_binary_sitehttp://cdn.npm.taobao.org/dist/node-sass-g
四、yarn的常用命令:
安裝yarn
npm install -g yarn
安裝成功后,查看版本號:
yarn --version
創(chuàng)建文件夾 yarn
md yarn
進入yarn文件夾
cd yarn
初始化項目
yarn init // 同npm init,執(zhí)行輸入信息后,會生成package.json文件
yarn的配置項:
yarn config list // 顯示所有配置項
yarn config get//顯示某配置項
yarn config delete//刪除某配置項
yarn config set[-g|--global] //設(shè)置配置項
安裝包:
yarn install//安裝package.json里所有包,并將包及它的所有依賴項保存進yarn.lock
yarn install --flat //安裝一個包的單一版本
yarn install --force //強制重新下載所有包
yarn install --production //只安裝dependencies里的包
yarn install --no-lockfile//不讀取或生成yarn.lock
yarn install --pure-lockfile//不生成yarn.lock
添加包(會更新package.json和yarn.lock):
yarn add [package] // 在當前的項目中添加一個依賴包,會自動更新到package.json和yarn.lock文件中
yarn add [package]@[version] // 安裝指定版本,這里指的是主要版本,如果需要精確到小版本,使用-E參數(shù)
yarn add [package]@[tag] // 安裝某個tag(比如beta,next或者latest)
//不指定依賴類型默認安裝到dependencies里,你也可以指定依賴類型:
yarn add --dev/-D // 加到 devDependencies
yarn add --peer/-P // 加到 peerDependencies
yarn add --optional/-O // 加到 optionalDependencies
//默認安裝包的主要版本里的最新版本,下面兩個命令可以指定版本:
yarn add --exact/-E // 安裝包的精確版本。例如yarn add foo@1.2.3會接受1.9.1版,但是yarn add foo@1.2.3 --exact只會接受1.2.3版
yarn add --tilde/-T // 安裝包的次要版本里的最新版。例如yarn add foo@1.2.3 --tilde會接受1.2.9,但不接受1.3.0
發(fā)布包
yarn publish
移除一個包
yarn remove:移除一個包,會自動更新package.json和yarn.lock
更新一個依賴
yarn upgrade 用于更新包到基于規(guī)范范圍的最新版本
運行腳本
yarn run 用來執(zhí)行在 package.json 中 scripts 屬性下定義的腳本
顯示某個包的信息
yarn info可以用來查看某個模塊的最新版本信息
緩存
yarn cache
yarn cache list # 列出已緩存的每個包
yarn cache dir # 返回 全局緩存位置
yarn cache clean # 清除緩存
五、npm 與 yarn命令比較:
比如說你的項目模塊依賴是圖中描述的,@1.2.1代表這個模塊的版本。在你安裝A的時候需要安裝依賴C和D,很多依賴不會指定版本號,默認會安裝最新的版本,這樣就會出現(xiàn)問題:比如今天安裝模塊的時候C和D是某一個版本,而當以后C、D更新的時候,再次安裝模塊就會安裝C和D的最新版本,如果新的版本無法兼容你的項目,你的程序可能就會出BUG,甚至無法運行。這就是npm的弊端,而yarn為了解決這個問題推出了yarn.lock的機制,這是作者項目中的yarn.lock文件。
大家會看到,這個文件已經(jīng)把依賴模塊的版本號全部鎖定,當你執(zhí)行yarn install的時候,yarn會讀取這個文件獲得依賴的版本號,然后依照這個版本號去安裝對應(yīng)的依賴模塊,這樣依賴就會被鎖定,以后再也不用擔心版本號的問題了。其他人或者其他環(huán)境下使用的時候,把這個yarn.lock拷貝到相應(yīng)的環(huán)境項目下再安裝即可。
注意:這個文件不要手動修改它,當你使用一些操作如yarn add時,yarn會自動更新yarn.lock。
備注:
摘自連接:https://www.cnblogs.com/jtjianfeng/p/12174982.html