天天看點

還在用nvm做node管理工具?快來試試Volta吧!🥤什麼是Volta🥤Volta概述🔔特點❣️為什麼要使用 Volta?| 為什麼選擇Volta?🛠️安裝 Volta | 入門✔了解 Volta💡Volta 指令💬概括

還在用nvm做node管理工具?快來試試Volta吧!

為什麼會用Volta呢?因為這段時間電腦上的yarn出了問題,**yarn install**之後就報錯

There appears to be trouble with your network connection. Retrying...

,期間找了很多方法都沒有解決,但是今天用Volta安裝了yarn之後居然奇迹般的可以下載下傳了,速度還特别快。雖然可以了,但依然不知道什麼原因導緻的。不過又可以用yarn了,開心😄~~

🥤什麼是Volta

标題說 Node.js 版本控制,但你也可以做 npm/yarn 版本控制。在官方網站上,它被介紹為“無憂無慮的 JavaScript 工具管理器”。當我把項目的 Node.js 的版本控制統一到 Volta 的時候,DX 上去了很多,我感受到了 Volta 的好處。

目前沒有詳細解釋的中文資源,是以我閱讀了官方文檔并酌情将其翻譯成中文。 希望有大佬可以無痛閱讀并介紹Volta。

🥤Volta概述

我們來看看官網介紹的三個功能。

Get Started →

⚡ Fast| 快

Install and run any JS tool quickly and seamlessly! Volta is built in Rust and ships as a snappy static binary.

快速無縫地安裝和運作任何 JS 工具!Volta 内置于 Rust 并作為一個活潑的靜态二進制檔案提供。

Volta 是由 Rust 制作的,是以它比其他版本控制工具運作得更快。 *** 快點很好。***

⚡ Reliable| 穩固|可靠

Ensure everyone in your project has the same tools—without interfering with their workflow.

確定項目中的每個人都擁有相同的工具,而不會幹擾他們的工作流程 。

這是我覺得最受益的地方。

volta pin

您可以使用該指令輕松對齊項目成員的 Node.js 和 npm 版本。

我将在文章後面詳細解釋如何使用它,是以我先放着它。

⚡ Universal| 萬能

No matter the package manager, Node runtime, or OS, one command is all you need:

volta install

.

無論是包管理器、Node 運作時還是作業系統,您隻需要一個指令:

volta install

.

Windows/Mac/Linux。适用于任何作業系統。

除非每個人都在使用 Volta,否則它無法工作,是以它可以在任何作業系統上運作很重要。

🔔特點

讓我們快速浏覽一下這些功能。

  • 速度⚡️
  • 逐個項目的無縫版本切換
  • 跨平台支援,包括 Windows 和所有 Unix shell
  • 支援多個包管理器
  • 工具安裝穩定(每次節點更新後無需重新安裝)
  • 用于特定于站點的自定義的可擴充性挂鈎

❣️為什麼要使用 Volta?| 為什麼選擇Volta?

使用 Volta,一旦您選擇了 Node 引擎,您就不必擔心它。切換項目不需要您手動切換版本。您可以在工具鍊中安裝 npm 軟體包二進制檔案,而無需定期重新安裝它們或找出它們停止工作的原因。

快速設定和切換 Node 引擎

您可以擷取和使用特定版本的節點。

終端

$ volta install node@14           

複制

您會立即注意到該工具的響應能力。您的開發時間很寶貴!JavaScript 開發人員應該得到一個快速的工具。🙂

當然我覺得安裝很快。

協作者的可複制環境

Volta 允許您使用單個指令選擇項目的節點引擎和包管理器。
~~路徑/到/你的/項目~~

$ volta pin node@12           

複制

Volta 将 Node 引擎的确切版本存儲在 package.json 中,是以您可以将您的選擇送出給 git。從那時起,每次您在項目目錄中運作 Node 時,Volta 都會自動切換到與您選擇相同版本的 Node 。同樣,您的合作者也可以通過在他們各自的開發機器上安裝 Volta 來做同樣的事情。

這就是Volta的全部意義所在。這是每個人都在使用Volta的條件,但是建立環境的人可以

volta pin

通過指令修複版本,其他成員可以不假思索地執行它

npm install

。 能省去檢查版本的麻煩。

😏重新安裝?

Volta 允許您将喜歡的軟體包二進制檔案安裝為指令行工具,而不必擔心會破壞您的開發項目。更好的是,這些工具在安裝期間固定到特定的 Node 引擎,除非您明确訓示它們,否則不會更改。
$ npm install -g surge

$ surge -h           

複制

即使使用此全局安裝,也會為每個項目記住版本,是以您不必擔心版本。

🛠️安裝 Volta | 入門

現在讓我們安裝 Volta。

安裝前最好把目前使用的Node版本控制工具去掉,但也并非必須的。

工具的删除部分(nodebrew, NVM, nodist, ...)的模式太多了,是以我就省略删除方法了。請根據自己的環境檢查!

如果按照了nodebrew,可以通過參考這篇文章将其删除。

安裝Volta

按照官方入門安裝。

如果作業系統是 Mac / Linux(包括 WSL),您可以使用以下指令輕松安裝它。

$ curl https://get.volta.sh | bash           

複制

指令是

| bash

,但即使是那些使用 zsh /fish 的人也可以毫無問題地安裝它。讓我們照原樣做吧!

我很感激通行證會自動通過。

對于 Windows,可以使用 Windows 安裝程式,一路next即可

⚠️對于 Windows,使用 Volta 似乎需要一些設定,是以請按照官網的說明進行設定。,但是我沒有設定依舊可以使用,可以了解為開箱即用。

确認已安裝

.zshrc

檢視shell配置檔案如帶有

cat

指令的檔案等,如果寫入如下路徑,就OK了。

~/.zshrc

export VOLTA\_HOME="$HOME/.volta"

export PATH="$VOLTA\_HOME/bin:$PATH"           

複制

重新啟動終端一次

volta

,檢查是否可以使用該指令。

$ volta --version           

複制

  • 👊🏽顯示Volta版本時安裝完成!

✔了解 Volta

Volta 的工作是

node

管理JavaScript 指令行工具,例如作為 JavaScript 包的一部分提供的可執行檔案

npm

。 與包管理器一樣,Volta 會根據您目前的目錄跟蹤您正在處理的項目。Volta 工具鍊中的工具會自動檢測您在使用特定版本工具的項目中,并将您引導到最适合您的工具版本。

yarn

管理你的工具鍊

Volta 工具鍊管理的工具由

volta install

兩個

volta uninstall

指令控制

Node安裝

在工具鍊中安裝工具時,安裝的版本是該工具的_預設版本_。除非您在一個項目目錄中工作,其中您有一個固定版本的 Node 以使用不同的版本,否則它預設為 Volta 使用的版本。

例如,您可以通過安裝特定版本來選擇 Node 的預設版本。

$ volta install [email protected]           

複制

如果您沒有指定确切的版本,Volta 會選擇與您的請求相比對的适當版本。
$ volta install node@14           

複制

latest

您也可以安裝最新版本。此外,如果您完全省略版本,Volta 将選擇并安裝最新的 LTS 版本。
$ volta install node@latest

# Node@LTS

$ volta install node           

複制

當您運作任何這些指令時,由 Volta 在 PATH 環境(或 Windows 上的 Path)中提供的節點可執行檔案預設自動運作所選版本的節點。

同樣,您可以使用

volta install npm

volta install yarn

分别選擇 npm 和 Yarn 包管理器的版本。這些工具使用所選節點的預設版本運作。

節點引擎固定

volta pin

您可以使用指令來選擇項目的 Node 引擎和包管理器的版本。
$ volta pin [email protected]

$ volta pin [email protected]           

複制

将Volta儲存到

package.json

:

"volta":  {  

    "node":  "14.17.3",  

    "npm":  "6.14.13"  

}           

複制

這樣,使用 Volta 進行項目開發的每個人都将自動獲得與json設定的相同版本。

使用項目工具

node和包管理器可執行檔案不是工具鍊中唯一的智能工具。工具鍊中的包二進制檔案也可以識别目前目錄并尊重目前項目結構。

例如,安裝 Typescript 包會将編譯器可執行檔案 (

tsc

) 添加到工具鍊中。
$ npm install --global typescript           

複制

根據您參與的項目,此可執行檔案将切換到您項目中選擇的 TypeScript 版本。
cd /path/to/project-using-typescript-3.9.4

tsc --version # 3.9.4



cd /path/to/project-using-typescript-4.1.5

tsc --version # 4.1.5           

複制

如您所見,不僅 Node 和 npm / Yarn 等包管理器,而且通過它們安裝的包二進制檔案都受到 Volta 的監控。是以,它會自動切換每個項目的版本。

安全便利

Volta 的工具鍊會跟蹤您的位置。是以,您使用的工具将始終優先考慮您正在處理的項目的設定。這意味着您在切換項目時不必擔心更改已安裝軟體的狀态。

此外,每次運作工具時,Volta 都會覆寫跟蹤,使 npm 或 Yarn 腳本永遠不會知道工具鍊的内容。

結合這兩個特性,Volta 解決了全局封裝的問題。換句話說,Volta 提供了全局包安裝的便利,但沒有危險。

例如,

npm i -g typescript

您可以安全地安裝 TypeScript,

tsc

并享受直接從控制台調用它的便利。

💡Volta 指令

volta

指令行二進制參考如下。(點此檢視官方指令參考)

The JavaScript Launcher ⚡

    To install a tool in your toolchain, use `volta install`.

    To pin your project's runtime or package manager, use `volta pin`.

USAGE:

    volta [FLAGS] [SUBCOMMAND]

FLAGS:

        --verbose    

            Enables verbose diagnostics

        --quiet      

            Prevents unnecessary output

    -v, --version    

            Prints the current version of Volta

    -h, --help       

            Prints help information

SUBCOMMANDS:

    fetch          Fetches a tool to the local machine

    install        Installs a tool in your toolchain

    uninstall      Uninstalls a tool from your toolchain

    pin            Pins your project's runtime or package manage

    list           Displays the current toolchain

    completions    Generates Volta completions

    which          Locates the actual binary that will be called by Volta

    setup          Enables Volta for the current user / shell

    help           Prints this message or the help of the given subcommand(s)           

複制

Volta常用指令介紹

最後,我想介紹一些常用的指令。

volta install

volta install

設定工具的預設版本。如果未快取區域指定的版本,請從該工具中擷取它。

如何使用

volta install [FLAGS] <tool[@version]>

上面說明了安裝時指定版本的方法,但總結如下。

# 安裝指定版本的node

$ volta install [email protected]  



# 安裝特定版本中的穩定的node版本

$ volta install node@14  



# 安裝LTS版本的node 

$ volta install  node  



# 安裝最新版本的node

$ volta install node@latest           

複制

volta pin

volta pin``package.json

該指令更新項目檔案以使用所選版本的工具。

此指令隻能用于節點和包管理器(npm / Yarn)。

使用方法是

volta pin [FLAGS] <tool[@version]>

# node版本固定

$ volta pin [email protected]



# npm版本固定

$ volta pin [email protected] 

# or volta pin [email protected]           

複制

在項目目錄中執行上述

volta pin

指令時,

package.json

将寫入以下設定。

{

  ...,

+ "volta": {

+   "node": "14.17.3",

+   "npm": "6.14.13" //or "yarn": "1.19.2"

+ }

}           

複制

通過與您的團隊共享此

package.json

内容,例如在 GitHub 上,每個人都可以使用相同版本的 Node 或 npm。

例如,假設您在

package.json

一個項目中運作了上述設定。如果 npm 的版本緩存在 本地機器上,将顯示。 如果它沒有緩存在本地機器上,它将從安裝開始,并在安裝完成時顯示。

npm -v

6.14.13``6.14.13

6.14.13``6.14.13

這樣,如果你本地有那個版本,它會自動切換到那個版本,否則它會從版本安裝開始。

這很友善,而且

npm install

即使你運作它而不用擔心版本,版本也會自動對齊,是以

package-lock.json

不會有任何差異。(npm 6系和7系

package-lock.json

的内容很不一樣。)

volta list

volta list

該指令檢查并顯示包含已安裝 Node 運作時、包管理器和二進制檔案的包。

如何使用

volta list [FLAGS] [OPTIONS] [tool]

volta list

該指令的用法總結如下。

# 使用方法

volta list [FLAGS] [OPTIONS] [tool]

# Flags

-c, --current # 顯示目前活動工具

              # 此标志為預設設定

-d, --default # 顯示預設工具

    --verbose # 啟用進階診斷

    --quiet   # 防止不必要的顯示

-h, --help    # 顯示幫助資訊



# OPTIONS

--format <format>   # 指定輸出格式

                    # 有效值為`human`or`plain`

                    # 預設值為`human`,否則為`plain`

                    

# ARGS

<tool>  # 指定要列出的工具(node,npm,yarn或其他二進制檔案)

        # 指定all以顯示所有内容           

複制

volta list

您可以檢視該項目中使用的工具的版本。

volta list all

現在您可以看到 Volta 管理的工具清單。

💬概括

寫了這麼長的一句話,希望大家能明白Volta的魅力。

我認為這對于主要開發 JavaScript 的人來說是最好的解決方案。

我們相信您使用 Volta 的人越多,您就越能享受到它的好處,是以請考慮将它介紹給您的開發團隊。

🙏感謝您閱讀到最後。再見。