把yarn常見使用方法列在這,方便自己查閱,大家也可以直接到官網(wǎng)查看,這些內(nèi)容在官網(wǎng)上都有,我轉(zhuǎn)錄在這里,只是為了加強(qiáng)記憶。
先看官網(wǎng)的介紹,清晰明了,對我來說就是,將會是Yarn比npm好用,可以用yarn來替代npm,兩者之間用法相似,但最好不要混合使用:
Yarn 對你的代碼來說是一個包管理器, 你可以通過它使用全世界開發(fā)者的代碼,或者分享自己的代碼。 Yarn 做這些快捷、安全、可靠,所以你不用擔(dān)心什么。
通過Yarn你可以使用其他開發(fā)者針對不同問題的解決方案,使自己的開發(fā)過程更簡單。 使用過程中遇到問題,你可以將其上報或者貢獻(xiàn)解決方案。一旦問題被修復(fù),Yarn會更新保持同步。
代碼通過包(package)(或者稱為模塊(module))的方式來共享。 一個包里包含所有需要共享的代碼,以及描述包信息的文件,稱為package.json.
安裝
在常見的 Linux 系統(tǒng)上,比如說 Debian、Ubuntu 和 CentOS,推薦通過我們的包來安裝 Yarn,沒必要記憶,安裝的時候直接官網(wǎng)走起。
$curl -o- -L https://yarnpkg.com/install.sh | bash
或者
通過 npm 安裝:
$npm install --global yarn
運(yùn)行命令來測試 Yarn 是否安裝:
$yarn --version
1.15.2
入門使用
- 初始化新項目
$yarn init
- 添加依賴包
$yarn add [package]
$yarn add [package]@[version]
$yarn add [package]@[tag]
- 將依賴項添加到不同依賴項類別
分別添加到 devDependencies、peerDependencies 和 optionalDependencies:
$yarn add [package] --dev
$yarn add [package] --peer
$yarn add [package] --optional
- 升級依賴包
$yarn upgrade [package]
$yarn upgrade [package]@[version]
$yarn upgrade [package]@[tag]
5.移除依賴包
$yarn remove [package]
- 安裝項目的全部依賴
$yarn
或者
$yarn install
Yarn 工作流
你的項目在引入了包管理器的同時,也引入了一套新的圍繞著依賴項開發(fā)的工作流程。Yarn盡力不改變你的工作流程,并使流程中的每一步都簡單明了.
關(guān)于基本工作流你應(yīng)該知道幾個簡單的事:
- 創(chuàng)建一個新項目
- 增加/更新/刪除依賴
- 安裝/重裝你的依賴
- 引入版本控制系統(tǒng)(例如 git)
- 持續(xù)集成
創(chuàng)建一個項目:
不論是已經(jīng)有了現(xiàn)成的代碼倉庫(目錄),還是正著手啟動一個全新項目,你都可以使用同樣的方法引入Yarn。
在命令行終端里,跳轉(zhuǎn)到準(zhǔn)備引入Yarn的目錄(通常是一個項目的根目錄),執(zhí)行以下命令:
$yarn init
這將打開一個用于創(chuàng)建Yarn項目的交互式表單,其中包含以下問題:
name (your-project):
version (1.0.0):
description:
entry point (index.js):
git repository:
author:
license (MIT):
你既可以回答這些問題,也可以直接敲回車鍵(enter/return)使用默認(rèn)配置或者留空。
package.json
現(xiàn)在應(yīng)該創(chuàng)建了一個和下面文件內(nèi)容類似的 package.json:
{
"name": "my-new-project",
"version": "1.0.0",
"description": "My New Project description.",
"main": "index.js",
"repository": {
"url": "https://example.com/your-username/my-new-project",
"type": "git"
},
"author": "Your Name <you@example.com>",
"license": "MIT"
}
執(zhí)行yarn init之后,除了以上文件被創(chuàng)建之外,沒有任何副作用。你可以隨意編輯此文件。
管理依賴項
package.json文件里存儲了項目的有關(guān)信息。 包括項目名稱、維護(hù)者信息、代碼托管地址,以及最重要的:項目依賴。
你需要了解幾若干個用于增加、更新、刪除依賴項的命令。
每個命令都會更新package.json和yarn.lock 文件。
- 添加依賴包
在使用一個包之前,你需要執(zhí)行以下命令將其加入依賴項列表:
yarn add [package]
[package]會被加入到package.json文件中的依賴列表,同時yarn.lock也會被更新。
你可以用以下參數(shù)添加其它類型的依賴:
-
yarn add --dev添加到devDependencies -
yarn add --peer添加到peerDependencies -
yarn add --optional添加到optionalDependencies
通過指定依賴版本和標(biāo)簽,你可以安裝一個特定版本的包:
yarn add [package]@[version]
yarn add [package]@[tag]
[version] 或 [tag] 會被添加到 package.json,并在安裝依賴時被解析。
例如:
yarn add package-1@1.2.3
yarn add package-2@^1.0.0
yarn add package-3@beta
{
"dependencies": {
"package-1": "1.2.3",
"package-2": "^1.0.0",
"package-3": "beta"
}
}
2.更新依賴包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
這會更新package.json和yarn.lock 文件。
{
"name": "my-package",
"dependencies": {
- "package-1": "^1.0.0"
+ "package-1": "^2.0.0"
}
}
3.刪除依賴包
yarn remove [package]
這會更新package.json和yarn.lock 文件。
如果剛從版本控制系統(tǒng)里 checkout 一個包,則需要為其安裝依賴。
如果是為現(xiàn)有的包增加依賴,那么這些新的依賴會自動安裝。
安裝依賴項
yarn install 是用于安裝一個項目的所有依賴。 Yarn會從package.json中讀取依賴,并將依賴信息存儲到yarn.lock中。
如果你正在開發(fā)一個包,通常你會在以下情況之后進(jìn)行依賴安裝:
- 你剛檢出需要這些依賴項的項目代碼。
- 項目的另一個開發(fā)者添加了新的依賴,你需要用到。
安裝選項
有很多參數(shù)可以控制依賴安裝的過程,包括:安裝所有依賴:
yarn或yarn install安裝一個包的單一版本:
yarn install --flat強(qiáng)制重新下載所有包:
yarn install --force只安裝生產(chǎn)環(huán)境依賴:
yarn install --production
查看您可以傳遞給 yarn install 的 完整參數(shù)列表。
配合版本控制
為了使其他人能夠使用你的包,或者能夠?qū)ζ溥M(jìn)行后續(xù)開發(fā),你需要確保將所有必須的文件提交到你所使用的版本控制系統(tǒng)。
所需的文件
為了別人能使用你的包,以下文件必須被提交進(jìn)版本控制系統(tǒng):
-
package.json:包含包的所有依賴信息; -
yarn.lock:記錄每一個依賴項的確切版本信息; - 包實現(xiàn)功能的實際項目代碼。
請參閱Yarn Example Package項目,查看一個可用的Yarn包所需的最少文件配置。