yarn的基本命令和用法

Yarn通過并行安裝、離線模式、確定性安裝以及更好的依賴解析算法,為開發者提供了更快、更穩定、更安全的包管理體驗。它保留了npm的大部分功能,并在此基礎上做了大量優化,下面我們就來詳述Yarn的核心命令和實用技巧。📚

安裝Yarn

首先,確保你的系統已經安裝了Node.js。之后,可以通過多種方式安裝Yarn

  • 1$ npm install -g yarn
  • 1brew install yarn

安裝完成后,檢查Yarn的版本以確認安裝成功:

1$ yarn --version

基礎命令

初始化項目

與npm的npm init類似,Yarn使用yarn init來創建package.json文件。同樣,你可以使用-y跳過交互式問答直接生成默認配置:

1$ yarn init [-y]
安裝包

Yarn使用yarn add命令安裝包,它會自動添加到dependenciesdevDependencies中,取決于是否使用了--dev標志。

1$ yarn add [package-name] [--dev]

例如,安裝React及其對應的TypeScript類型定義:

1$ yarn add react react-dom @types/react @types/react-dom
更新包

使用yarn upgrade命令來更新包,可以指定包名和版本號,或者不指定包名來更新所有包:

1$ yarn upgrade [package-name@version]
2$ yarn upgrade
移除包

yarn remove命令用于從項目中移除包,并從package.jsonnode_modules中刪除其相關文件:

1$ yarn remove [package-name]

高級用法

鎖定文件

Yarn通過yarn.lock文件確保每次安裝得到完全相同的依賴樹,保證了安裝過程的確定性。這個文件應該被提交到版本控制系統中,以確保團隊成員間的一致性。每當你添加或更新依賴時,Yarn會自動更新這個文件。

并行安裝

Yarn利用并行處理能力,顯著加快了依賴的安裝速度。這是它相比npm的一個主要優勢,尤其是在大型項目中。

離線模式

Yarn具備離線安裝的能力,它會在本地緩存已下載的包,下次安裝時直接從緩存中讀取,提高了安裝速度并降低了網絡依賴。

工作空間管理

對于包含多個子項目的大型應用或 mono-repo(單一倉庫),Yarn的工作空間(Workspaces)特性特別有用。它允許你在父級項目中管理所有子項目的依賴,簡化了版本控制和依賴更新流程。

腳本執行

與npm一樣,Yarn也支持在package.json中定義腳本,并通過yarn run執行。這使得自動化構建、測試、部署等任務變得簡單直觀:

 

Json

1"scripts": {
2  "start": "react-scripts start",
3  "build": "react-scripts build",
4  "test": "react-scripts test",
5  "eject": "react-scripts eject"
6}

執行腳本:

 

Bash

1$ yarn run start

其他實用命令

  • 列出包:?yarn list?顯示項目中所有直接和間接依賴。
  • 清潔:?yarn clean?刪除node_modules目錄和yarn.lock文件,幫助你從頭開始。
  • 檢視:?yarn why [package-name]?查看為什么某個包會被安裝,有助于診斷依賴問題。
  • 版本查詢:?yarn outdated?顯示所有可更新的包及其最新版本。
  • 緩存管理:?yarn cache clean?清理Yarn的緩存。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14528.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14528.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14528.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【MySQL精通之路】InnoDB(7)-鎖和事務模型(2)-事務模型

主博客: 【MySQL精通之路】InnoDB(7)-鎖和事務模型-CSDN博客 上一篇: 【MySQL精通之路】InnoDB(7)-鎖和事務模型(1)-鎖-CSDN博客 下一篇: 目錄 1.事務隔離級別 2.1 可重復讀 2.2 讀已提交 2.3 讀取未提交 2.4 序列化讀 2.自動提交、…

訂餐系統總結、

應用層: SpringBoot:快速構建Spring項目,采用“約定大于配置”的思想,簡化Spring項目的配置開發。 SpringMvc:Spring框架的一個模塊,springmvc和spring無需通過中間整合層進行整合,可以無縫集成。 Sprin…

完整的數據可視化方法集

在當前的大數據時代,了解如何可視化數據是UI/UX設計師技能的重要組成部分。如今,幾乎所有的公司都需要良好的數據可視化作為確定業務方向和決策的參考。數據的可視化結果越好,用戶的決策就越科學。 1、什么是數據可視化 數據可視化是將信息…

張量 t-product 積(matlab代碼)

參考文獻:Tensor Robust Principal Component Analysis with a New Tensor Nuclear Norm 首先是文章2.3節中 t-product 的定義: 塊循環矩陣: 參考知乎博主的例子及代碼:(t-product與t-QR分解,另一篇傅里葉對…

HTML5 設備訪問及輸入輸出設備交互

目錄 設備訪問輸入設備交互輸出設備交互設備訪問 設備信息訪問 navigator.userAgent:獲取瀏覽器的用戶代理字符串,從中可以解析出設備類型、操作系統、瀏覽器版本等信息。 const userAgent = navigator.userAgent; console.log(userAgent); // 輸出類似 "Mozilla/5.0…

算法(Algorithm)

算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,代表著用系統的方法描述解決問題的策略機制。也就是說,算法能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。算法應該具有…

【python004】miniforge可行替代方案實戰總結(最近更新中)

1.熟悉、梳理、總結項目研發實戰中的miniforge日常使用中的問題。隨著版本更新,做了一些變動,如商業化限制,取消一些語法等。 2.歡迎點贊、關注、批評、指正,互三走起來,小手動起來!

vue通過for循環生成input框后雙向綁定失效問題

有些時候頁面上有太多的表單元素&#xff0c;一個個的寫太過繁瑣&#xff0c;拿 input 框舉例&#xff0c;眾多的 input 框&#xff0c;無非就是輸入框前的說明和 input 框的 name 屬性不一樣 <el-form :inline"true" :model"formInline" size"mi…

01-05.Vue自定義過濾器

目錄 前言過濾器的概念過濾器的基本使用給過濾器添加多個參數 前言 我們接著上一篇文章01-04.Vue的使用示例&#xff1a;列表功能 來講。 下一篇文章 02-Vue實例的生命周期函數 過濾器的概念 概念&#xff1a;Vue.js 允許我們自定義過濾器&#xff0c;可被用作一些常見的文本…

軟件模塊的耦合

軟件模塊的耦合 耦合是指軟件模塊之間的依賴程度&#xff0c;耦合越低&#xff0c;模塊之間的獨立性越高&#xff0c;軟件的可維護性、可重用性也越高。下面是幾種常見的耦合類型的概念&#xff1a; 數據耦合&#xff08;Data Coupling&#xff09;&#xff1a; 當一個模塊通…

Python ? 使用代碼解決今天中午吃什么的重大生存問題

1. 環境安裝 安裝Python代碼環境參考文檔 2. 代碼塊 import random# 準備一下你想吃的東西 hot ["蘭州拉面", "爆肚面", "黃燜雞", "麻辣香鍋", "米線", "麻食", "羊肉泡饃", "肚絲/羊血湯&qu…

doxygen 1.11.0 使用詳解(九)——包含公式

目錄 Doxygen allows you to put LATEX formulas in the output (this works only for the HTML, LATEX and RTF output. To be able to include formulas (as images) in the HTML and RTF documentation, you will also need to have the following tools installed latex: …

定時監測服務器磁盤是否超過閾值,超過就刪除docker 鏡像

達到指定百分比 刪除鏡像腳本 df -h 查找到 內存占用信息 &#xff0c;得到的 文件系統名稱是 overlay的&#xff0c;Use% 達到70就進行刪除docker 鏡像 #!/bin/bash# 設置磁盤使用閾值 THRESHOLD70# 獲取 overlay 文件系統的磁盤使用百分比 DISK_USAGES$(df -h | grep overl…

利用sentence bert 實現語義向量搜索

目錄 基于pytorch的中文語言模型預訓練:https://github.com/zhusleep/pytorch_chinese_lm_pretrain/tree/master sentence_emb.py search_faiss_robert768.py faiss_index.py gen_vec_save2_faiss.py 基于pytorch的中文語言模型預訓練:https://github.com/zhusleep/pytorch_…

[協議]stm32讀取AHT20程序示例

AHT20溫度傳感器使用程序&#xff1a; 使用i2c讀取溫度傳感器數據很簡單&#xff0c;但市面上有至少兩個手冊&#xff0c;我這個對應的手冊貼出來&#xff1a; main: #include "stm32f10x.h" // Device header #include <stdint.h> #includ…

數智賦能內澇治理,四信城市排水防澇解決方案保障城市安全運行

由強降雨、臺風造成城市低洼處出現大量積水、內澇的情況時有發生&#xff0c;給人們出行帶來了極大不便和安全隱患&#xff0c;甚至危及群眾生命財產安全。 為降低內澇造成的損失&#xff0c;一方面我們要大力加強城市排水基礎設施的建設&#xff1b;另一方面要全面掌握城市內澇…

U-Boot menu菜單分析

文章目錄 前言目標環境背景U-Boot如何自動調起菜單U-Boot添加自定義命令實踐 前言 在某個廠家的開發板中&#xff0c;在進入它的U-Boot后&#xff0c;會自動彈出一個菜單頁面&#xff0c;輸入對應的選項就會執行對應的功能。如SD卡鏡像更新、顯示設置等&#xff1a; 目標 本…

docker命令詳解大全

Docker是一種流行的容器化平臺&#xff0c;用于快速部署應用程序并管理容器的生命周期。以下是一些常用的Docker命令及其用途的概述&#xff1a; docker run&#xff1a;創建一個新容器并運行一個命令。docker ps&#xff1a;列出當前運行的容器。docker stop&#xff1a;停止…

Unity射擊游戲開發教程:(20)增加護盾強度

在本文中,我們將增強護盾,使其在受到超過 1 次攻擊后才會被禁用。 Player 腳本具有 Shield PowerUp 方法,我們需要調整盾牌在被摧毀之前可以承受的數量,因此我們將聲明一個 int 變量來設置盾牌可以承受的擊中數量。

微信小程序畫布顯示圖片繪制矩形選區

wxml <view class"page-body"><!-- 畫布 --><view class"page-body-wrapper"><canvas canvas-id"myCanvas" type"2d" id"myCanvas" classmyCanvas bindtouchstart"touchStart" bindtouchmo…