Yarn是一個JavaScript套件管理器,是npm的直接競爭對手之一,同時也是Facebook的開源項目之一。

Yarn介紹

Yarn是一個JavaScript套件管理器,是npm的直接競爭對手,也是Facebook的開源項目之一。

它與npm套件相容,因此它有一個重要的優勢,可以無縫取代npm。

在剛發布時,它由於並行下載和緩存,速度比npm快得多,但現在npm已經追趕上它的許多功能,所以我推薦使用npm。

工具最終會收斂到一組功能,以保持它們在相同水平上,以保持相關性,因此我們可能會在未來的npm中看到這些功能 - 競爭對象對用戶來說是好的。

安裝Yarn

雖然你可以使用npm安裝Yarn(npm install -g yarn),但Yarn團隊不建議這樣做。

系統特定的安裝方法在https://yarnpkg.com/en/docs/install列出。例如,在macOS上,你可以使用Homebrew運行以下命令:

brew install yarn

但每個操作系統都有自己首選的包管理器,這將使安裝過程非常順暢。

最終,您將在您的shell中可以使用yarn命令:

安裝了Yarn命令

管理套件

Yarn將其依賴項寫入名為package.json的文件中,該文件位於您的項目的根文件夾中,並將依賴項文件存儲到node_modules文件夾中,就像過去使用npm一樣。

初始化新項目

運行

yarn init

將啟動一個交互式提示,幫助您快速啟動一個項目。

執行yarn init

安裝現有項目的依賴項

如果您已經有一個包含依賴項列表的package.json文件,但是尚未安裝套件,運行以下命令:

yarn

或者

yarn install

開始安裝過程。

本地安裝套件

使用以下命令將套件安裝到項目中:

yarn add package-name

全局安裝套件

yarn global add package-name

本地安裝開發依賴項

yarn add --dev package-name

相當於npm的--save-dev標誌

移除套件

yarn remove package-name

檢查許可證

在安裝許多依賴項時,這些依賴項可能還有很多依賴項,您會安裝許多您對其使用的許可證一無所知的套件。

Yarn提供了一個便利的工具,可以打印出您所有依賴項的許可證:

yarn licenses ls

可視化展示yarn的許可證

它還可以自動生成一個免責聲明,其中包含您使用的所有項目的所有許可證:

yarn licenses generate-disclaimer

由yarn生成的免責聲明

檢查依賴項

您是否曾經檢查node_modules文件夾,想知道為什麼安裝了特定的套件?yarn why可以告訴您:

yarn why package-name

yarn why的結果

升級套件

如果你想升級單個套件,運行以下命令:

yarn upgrade package-name

升級所有套件,運行以下命令:

yarn upgrade

但是,這個命令有時可能會導致問題,因為在不考慮主要版本更改的情況下盲目升級所有依賴項。

Yarn有一個很棒的工具,可以在項目中選擇性地更新套件,在這種情況下非常有幫助:

yarn upgrade-interactive

使用yarn升級套件

如何升級Yarn

在撰寫本文時,還沒有自動更新命令。

如果您使用了像上面建議的brew安裝,使用以下命令:

brew upgrade yarn

如果您使用npm安裝,使用以下命令:

npm uninstall yarn -g
npm install yarn -g