Yarn 是快速、可靠、安全的 js 包管理器。前端
關鍵詞:
nodejs
,包管理
,yarn
node
Yarn 是快速、可靠、安全的 js 包管理器。git
先決條件:已安裝 Nodejs。github
執行命令:npm i -g yarn
算法
雖然還有其餘安裝方式,但並不推薦。npm
Yarn 工做流:json
每一個命令都會更新 package.json
和 yarn.lock
文件。緩存
yarn init
在使用一個包以前,你須要執行如下命令將其加入依賴項列表:安全
yarn add [package]
[package]
會被加入到package.json
文件中的依賴列表,同時yarn.lock
也會被更新。frontend
{ "name": "my-package", "dependencies": { + "package-1": "^1.0.0" } }
你能夠用如下參數添加其它類型的依賴:
yarn add --dev
添加到 devDependencies
yarn add --peer
添加到 peerDependencies
yarn add --optional
添加到 optionalDependencies
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" } }
將依賴項添加到不一樣依賴項類別
分別添加到 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]
這會更新package.json
和yarn.lock
文件。
{ "name": "my-package", "dependencies": { - "package-1": "^1.0.0" + "package-1": "^2.0.0" } }
yarn remove [package]
這會更新package.json
和yarn.lock
文件。
yarn install
是用於安裝一個項目的全部依賴。 Yarn 會從 package.json
中讀取依賴,並將依賴信息存儲到 yarn.lock
中。
若是你正在開發一個包,一般你會在如下狀況以後進行依賴安裝:
有不少參數能夠控制依賴安裝的過程,包括:
參考:
yarn install
的 完整參數列表。
不管是已經有了現成的代碼倉庫(目錄),仍是正着手啓動一個全新項目,你均可以使用一樣的方法引入 Yarn。
在命令行終端裏,跳轉到準備引入 Yarn 的目錄(一般是一個項目的根目錄),執行如下命令:
yarn init
這將打開一個用於建立 Yarn 項目的交互式表單,其中包含如下問題:
name (your-project): version (1.0.0): description: entry point (index.js): git repository: author: license (MIT):
你既能夠回答這些問題,也能夠直接敲回車鍵(enter/return)使用默認配置或者留空。
爲了別人能使用你的包,如下文件必須被提交進版本控制系統:
package.json
- 包含包的全部依賴信息;yarn.lock
- 記錄每個依賴項的確切版本信息;請參閱Yarn Example Package項目,查看一個可用的 Yarn 包所需的最少文件配置。
如今應該建立了一個和下面文件內容相似的 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" }
執行yarn init
以後,除了以上文件被建立以外,沒有任何反作用。你能夠隨意編輯此文件。
package.json
文件裏存儲了項目的有關信息。 包括項目名稱、維護者信息、代碼託管地址,以及最重要的:項目依賴。
👉 歡迎閱讀 個人前端技術教程系列:frontend-tutorial