จะอัปเกรดเวอร์ชันเส้นด้ายโดยใช้เทอร์มินัลได้อย่างไร


คำตอบ:


145

สำหรับผู้ใช้ macOS หากคุณติดตั้งyarnผ่านbrewคุณสามารถอัพเกรดได้โดยใช้คำสั่งด้านล่าง:

brew upgrade yarn


11
ติดแท็กสำหรับ Ubuntu ไม่ใช่ MacOs
Luciano Bargmann

12
Google ไม่ตรวจสอบแท็กเมื่อกำหนดเส้นทางผู้ใช้ไปยังคำถามนี้
หั่น

1
คุณสามารถทำได้เร็วขึ้นด้วย:(npm uninstall -g yarn && brew install yarn) || brew upgrade yarn
user9869932

โปรดทราบว่าการติดตั้งyarnผ่านการbrewติดตั้งnodeด้วย เรื่องนี้อาจจะไม่พึงประสงค์ตัวอย่างเช่นถ้าคุณกำลังใช้หรือnvm n
Jeff Fairley

104
npm install --global yarn

npm upgrade --global yarn 

สิ่งนี้ควรใช้งานได้ ลองแจ้งให้เราทราบหากใช้งานไม่ได้


6
> หมายเหตุ: โดยทั่วไปไม่แนะนำให้ติดตั้ง Yarn ผ่าน npm เมื่อติดตั้ง Yarn ด้วยตัวจัดการแพ็กเกจที่ใช้โหนดแพ็กเกจจะไม่ได้รับการลงนามและการตรวจสอบความสมบูรณ์เพียงอย่างเดียวที่ดำเนินการคือแฮช SHA1 พื้นฐานซึ่งเป็นความเสี่ยงด้านความปลอดภัยเมื่อติดตั้งแอปทั้งระบบ yarnpkg.com/lang/en/docs/install/#alternatives-stable
mnishiguchi

1
ฉันค่อนข้างแน่ใจว่าคุณไม่สามารถติดตั้ง / อัปเกรดเส้นด้ายได้อีกต่อไป แต่npmคุณต้องทำbrewอย่างน้อยบน OSX
Dragos Rizescu

2
เนื่องจากคำถามนี้เกี่ยวกับ Ubuntu 16.04 โดยเฉพาะความคิดเห็นเกี่ยวกับ OSX และbrewไม่เกี่ยวข้องจริงๆ ฉันเพิ่งอัปเกรดเส้นด้ายผ่านnpm upgrade --global yarnUbuntu 16.04 ซึ่งฉันได้ติดตั้งเส้นด้ายผ่าน npm ก่อนหน้านี้ ค่อนข้างแน่ใจว่ายังคงเป็นไปได้แม้ว่าจะไม่ใช่วิธีที่แนะนำก็ตาม เหตุผลดั้งเดิมของฉันในการติดตั้งเส้นด้ายผ่าน npm คือฉันใช้nvmเพื่อเก็บnodeไฟล์. การติดตั้งเส้นด้ายผ่านaptจะต้องติดตั้งโหนดเวอร์ชันเฉพาะทั่วโลก --no-install-recommendsแต่ผมอ่านนี้สามารถหลีกเลี่ยงผ่านพารามิเตอร์
trollkotze

58

จำไม่ได้ว่าฉันติดตั้งเส้นด้ายอย่างไรคำสั่งที่ใช้ได้กับฉันคือ:

yarn policies set-version

คำสั่งนี้อัพเดตเวอร์ชันของเส้นด้ายปัจจุบันเป็นเวอร์ชันเสถียรล่าสุด

จากเอกสารประกอบ:

โปรดทราบว่าคำสั่งนี้เป็นวิธีที่แนะนำในการอัปเกรด Yarn ซึ่งจะใช้งานได้ไม่ว่าคุณจะติดตั้งไว้อย่างไรซึ่งบางครั้งอาจพิสูจน์ได้ยากว่าเป็นอย่างอื่น

การอ้างอิง


2
นอกจากนี้ยังเป็นที่น่าสังเกตว่าคำสั่งนี้สร้าง.yarn/และ.yarnrc
lfender6445

2
ไม่ได้อัปเดต Yarn ทั่วโลกเฉพาะในโครงการปัจจุบัน
Tonatio

คำสั่งนี้ใช้ไม่ได้กับฉันมันส่งคืนข้อผิดพลาด: `error ไม่พบไฟล์ package.json ใน" / home / .. "`
eyong kevin

1
ผมคิดว่ามันไม่ได้ทำงานเพราะผมติดตั้งของฉันด้วยyarn apt-getฉันคิดว่าเป็นไปได้ที่จะรู้ว่าคุณติดตั้งแพ็คเกจของคุณอย่างไร สำหรับฉันฉันทำnpm list -g >filename.txtแล้วฉันค้นหาไฟล์สำหรับแพ็คเกจที่ต้องการ สำหรับ apt-get ฉันทำapt list --installedแล้วตรวจสอบผลลัพธ์สำหรับแพ็คเกจที่ต้องการ
eyong kevin

51

บน Linux เพียงเรียกใช้คำสั่งด้านล่างที่เทอร์มินัล:

$ curl --compressed -o- -L https://yarnpkg.com/install.sh | bash

หลังจากนั้นให้ปิดเทอร์มินัลปัจจุบันแล้วเปิดอีกครั้ง จากนั้นเรียกใช้คำสั่งด้านล่างเพื่อตรวจสอบเวอร์ชันปัจจุบันของเส้นด้าย:

$ yarn --version

2
ทำงานบน OSX ได้เช่นกัน
El'Magnifico

ทำงานบน git bash แต่แสดงเวอร์ชันเก่ากว่าเมื่อคุณเรียกใช้yarn --versionพร้อมรับคำสั่ง
Niraj Niroula


20

yarn policies set-version

จะดาวน์โหลดรุ่นเสถียรล่าสุด

เอกสารเส้นด้ายอ้างอิง https://yarnpkg.com/lang/en/docs/cli/policies/#toc-policies-set-version


โปรดทราบว่าคุณสามารถระบุเวอร์ชันด้วยคำสั่งนี้ได้เช่นกัน เช่นyarn policies set-version 1.21.0
Edmund Lee

คำสั่งนี้ใช้ไม่ได้สำหรับฉันมันส่งคืนข้อผิดพลาดerror Couldn't find a package.json file in "/home/.."
eyong kevin

19

npm install -g yarn- npm update --global yarnการแก้ไขปัญหาเมื่อไม่มีอะไรเกิดขึ้นทำงาน

วิธีอื่นในการอัปเดตเส้นด้าย: curl --compressed -o- -L https://yarnpkg.com/install.sh | bash.

ผู้ใช้ Mac ที่มี homebrew สามารถทำงานbrew upgrade yarnได้

รายละเอียดเพิ่มเติมที่นี่และที่นี่


หากใช้งานnpm update --global yarnไม่ได้ แต่npm install -g yarnเป็นไปได้ว่ามันไม่ได้ติดตั้งโดย npm ตั้งแต่แรก
Jesse Proulx

ขอบคุณมันได้ผลสำหรับฉัน อัปเกรดเป็นเส้นด้าย 1.22.4 จากเส้นด้าย 1.19.1
sajin tm

16

ฉันมี symlink ที่ล้าสมัยซึ่งทำให้ฉันไม่สามารถเข้าถึงถังขยะที่เหมาะสมได้ ฉันเพิ่งผ่านการอัปเกรดโหนดซึ่งหมายความว่าถังขยะรุ่นใหม่จำนวนมากของฉันมีอยู่ในโฟลเดอร์อื่นโดยที่ฉันคิดว่ามีลำดับความสำคัญต่ำกว่า

นี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน:

yarn -v 
> 1.15.2

which yarn
> /Users/lfender/.yarn/bin/yarn 

rm -rf /Users/lfender/.yarn/bin/yarn
npm uninstall --global yarn; npm install --global yarn

> + yarn@1.16.0
> added 1 package in 0.179s

which yarn
> /Users/lfender/.nvm/versions/node/v12.2.0/bin/yarn

yarn -v
> 1.16.0

หากคุณไม่ได้ใช้ NVM ตำแหน่งของการติดตั้ง bin ของคุณน่าจะไม่ซ้ำกันสำหรับระบบของคุณ

จากนั้นฉันเปลี่ยนไปทำyarn policies set-versionตามที่อธิบายไว้ที่นี่https://stackoverflow.com/a/55278430/1426788เพื่อกำหนดเวอร์ชันเส้นด้ายของฉันที่ระดับ repo


6

ฉันอัปเดตเส้นด้ายบน Ubuntu โดยเรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัลของฉัน

curl - บีบอัด -o- -L https://yarnpkg.com/install.sh | ทุบตี

แหล่งที่มา:https://yarnpkg.com/lang/en/docs/cli/self-update


ขอบคุณ Merabi ที่มามีประโยชน์จริงๆ
Roshimon

5
  1. เพิ่มไดเรกทอรีแพ็คเกจเส้นด้าย:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

  1. ติดตั้งเส้นด้าย:

sudo apt-get update && sudo apt-get install yarn

โปรดทราบว่าคำสั่งสุดท้ายจะอัปเกรดเส้นด้ายเป็นเวอร์ชันล่าสุดหากติดตั้งแพ็กเกจแล้ว

สำหรับข้อมูลเพิ่มเติมคุณสามารถตรวจสอบเอกสาร: การติดตั้งเส้นด้าย


1
วิธีนี้ใช้ได้ผลกับฉันในเทอร์มินัล Windows 10 ubuntu WSL กับ zsh
ก.ย.

วิธีนี้ใช้ได้ผลถ้าคุณติดตั้งyarnด้วยapt-getไฟล์. มันได้ผลสำหรับฉันUbuntu 16.04
eyong kevin

0

ฉันลองใช้วิธีแก้ปัญหาข้างต้นทั้งหมดในไปป์ไลน์ของเจนกินส์ซึ่งต้องการเส้นด้ายล่าสุด ในที่สุดสิ่งนี้ก็ได้ผลสำหรับฉัน

  1. เรียกใช้ชุดเวอร์ชันนโยบายเส้นด้ายใน git repo
  2. สิ่งนี้จะสร้างไฟล์. yarn / release / yarn-XXXjs และไฟล์. yarnrc พุชไฟล์ทั้งสองนี้ใน Git repo
  3. ตอนนี้สร้างและคำสั่ง yarn ทั้งหมดจะใช้เวอร์ชัน yarn-XXX

หมายเหตุ : สิ่งนี้มีประโยชน์เมื่อคุณไม่มีการเข้าถึงรูทสำหรับเส้นด้าย npm install -g


-6

เนื่องจากคุณได้ติดตั้งเส้นด้ายแล้วและต้องการอัปเกรด / อัปเดตเท่านั้น คุณสามารถใช้

yarn self-update

ค้นหาข้อมูลอ้างอิงที่นี่https://yarnpkg.com/en/docs/cli/self-update


1
นี่ไม่ใช่วิธีแก้ปัญหา หากคุณตรวจสอบหน้าดังกล่าวจะมีข้อความว่า "หมายเหตุ: ไม่มีการอัปเดตตัวเองโปรดดูนโยบายการบังคับใช้เวอร์ชันภายในโครงการ"
Emobe

ทำไมพวกเขาถึงมีหน้า? ที่สับสน
Julix

ทำไมถึงเป็นเพจ. และเป็นหน้าการจัดอันดับของ Google ด้วย ฮึ ..
GN.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.