我下午的大部分時間都花在處理紗線版本控制上。
所以事情是這樣的:Yarn 過去是透過 npm i -g Yarn 或諸如 brew 或 choco 之類的工具在全球範圍內安裝的。您從事的每個專案都會使用該全域安裝來管理依賴項,並且通常會安裝版本 1,也稱為「經典」。還有可怕的 1.22.1(至少對我來說)。
問題是,如果您在版本 1 分支中更新了紗線,舊專案可能會因為相容性問題而中斷。另外,我又花了一個下午處理另一個專案。那些本來可以更好地喝咖啡度過的下午。 ☕️
輸入「Modern yarn」-從版本 2 開始,現在是版本 4。這個版本的最酷之處在於它是透過 Corepack(處理不同版本的 Node 工具)按專案安裝的。這意味著每個項目都可以使用自己的紗線版本,這對於避免相容性問題非常有用。但要實現此功能,您必須全域卸載yarn並使用Corepack重新安裝它。
有關 Corepack 的更多資訊請參閱此處。
以下是如何逐步去除經典紗線:
步驟1️⃣:
卸載 Classic Yarn
注意:依照原先安裝的方式解除安裝yarn:
在裝有 Homebrew 的 macOS 上:
$ brew uninstall yarn
如果是透過 npm 安裝的:
$ npm remove yarn --global
第 2️⃣ 步:檢查卸載?
透過檢查版本確保紗線不再全域安裝:
$ yarn --version
正確卸載後,您應該會得到類似的內容。
如果卸載後您仍然得到先前的版本,請嘗試以下操作:
# On Mac: $ which yarn # On Win: $ where yarn # which/where will tell you, if and where yarn is installed. You get paths. Remove them! $ rm -rf /usr/local/bin/yarn # use the path from before $ rm -rf /usr/local/bin/yarnpkg # use the path from before
第 3️⃣ 步:核心包?
安裝並啟用核心包
如果您的電腦上沒有 Corepack,請立即安裝它。因為它仍然是專業的,所以稍後再啟用它。
如何查看是否有Corepack?
如果您還沒有安裝它:
$ npm install corepack --global
啟用 Corepack
$ corepack enable
現在,在您的專案(資料夾)中使用現代 Yarn:
$ cd projects/my-project # choose your path $ yarn set version stable $ yarn install
切換項目
如果您想將項目遷移到現代紗線,請嘗試以下操作:
$ cd projects/my-project # choose your path $ yarn set version stable
或透過核心包:
$ corepack use yarn@latest
如果您願意,甚至可以在全球安裝新版本的「Modern yarn」:
$ corepack install --global yarn@latest
就我個人而言,完成所有這些操作後,我仍然遇到問題? (版本仍然是1.22.1)。這對我有用:
但是 Yarn Berry 是什麼?
Yarn Berry 是 Node.js 的套件管理系統,由 Yarn v1 的主要開發人員 Mäl Nison 創建。正式版本(v2)已於2020年1月25日發布,目前已被Babel等大型開源儲存庫採用。 Yarn Berry 由 GitHub 儲存庫中的原始程式碼管理。
這是@solleedata 的一篇文章,更詳細地解釋了 Yarn Berry,上面的描述是從其中複製的。
以上是如何在不失去理智的情況下從經典紗線遷移到'現代紗線”的詳細內容。更多資訊請關注PHP中文網其他相關文章!