คำสั่งทั่วโลก Yarn ไม่ทำงาน


114

ฉันกำลังทำงานกับ Yarn v0.16.1 ถ้าฉันเข้าใจถูกต้อง (ตามเอกสารประกอบ ) yarn global add <package>ควรจะเทียบเท่ากับnpm install -g <package>. อย่างไรก็ตามเมื่อฉันเรียกใช้ตัวอย่างในเอกสาร (with create-react-app) คำสั่งจะทำงานได้สำเร็จ แต่create-react-appไม่สามารถใช้งานได้จากบรรทัดคำสั่ง นี่คือผลลัพธ์:

$ yarn global add create-react-app
$ yarn global v0.16.1
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Installed create-react-app@0.6.0 with binaries:
  - create-react-app
✨  Done in 3.22s.
$ create-react-app --help
-bash: create-react-app: command not found

การติดตั้งส่วนกลางด้วย npm ได้ผลลัพธ์ที่คาดหวังและทุกอย่างก็ใช้ได้ เส้นด้ายฉันขาดอะไรไป

คำตอบ:


179

คุณควรเพิ่มลงexport PATH="$PATH:$(yarn global bin)"ในของคุณ~/.bash_profileหรือสิ่งที่คุณใช้ มันจะช่วยแก้ปัญหาได้

โฟลเดอร์ส่วนกลางของ Yarn แตกต่างกันไปตามเหตุผลบางประการ สามารถติดตามเรื่องนี้ได้ที่นี่


6
นอกจากนี้คุณควรแหล่ง ".bash_profile" source ~/.bash_profileแฟ้มหลังจากที่ได้รับการแก้ไขในการปรับปรุงเปลี่ยนแปลงเพื่อให้เปลือกทุบตีคุณ:
tfmontague

1
ในบางระบบคุณอาจต้องเรียกใช้yarn global binตัวเองและใช้ URL ตามตัวอักษร~/.bash_profileแทน subshell สิ่งนี้:export PATH="$PATH:/usr/local/bin"
Nathan Arthur

ฉันต้องทำตามคำแนะนำจากความคิดเห็นนี้ในปัญหาที่ชี้ไปในคำตอบ I got global bins working by altering my path from what the docs say in the alternative installation section from export PATH="$PATH:$HOME/.yarn/bin" to export PATH="$PATH:$HOME/.yarn/bin:$HOME/.yarn-config/global/node_modules/.bin" github.com/yarnpkg/yarn/issues/1321#issuecomment-255532028
cirovladimir

1
สำหรับผู้ใช้ Ubuntu ที่พบปัญหานี้ให้เพิ่มexport PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"~ / .bash_profile ของคุณ
Pitt

2
สำหรับ zsh ให้ใส่. zshrc
Shad

48

อัปเดตธันวาคม 2561

แค่อัปเดตเส้นทางไม่ได้ผลสำหรับฉัน ฉันต้องตั้งค่าคำนำหน้าเส้นด้ายด้วย

  • Ubuntu 18.04.1 LTS (ไบโอนิก)
  • เส้นด้าย 1.12.3
  • npm v3.5.2
  • โหนด v8.10.0
  • zsh 5.4.2

ขั้นตอน

  1. ยืนยันเส้นทางถังขยะส่วนกลางของคุณ

    yarn global bin
    

ฉันได้: /home/username/.yarn/bin

  1. ตั้งค่าคำนำหน้าเส้นด้าย:

    ตรวจสอบให้แน่ใจว่าคำนำหน้าเส้นด้ายของคุณเป็นไดเร็กทอรีหลักของไดเร็กทอรี bin ของคุณ คุณสามารถยืนยันได้โดยเรียกใช้

    yarn config get prefix
    

    เมื่อฉันเรียกใช้สิ่งนี้คำนำหน้าว่างเปล่าดังนั้นฉันจึงตั้งค่า:

    yarn config set prefix ~/.yarn
    
  2. เพิ่มสิ่งต่อไปนี้ใน ~ / .bash_profile หรือ ~ / .bashrc

    export PATH="$PATH:`yarn global bin`"
    

    สำหรับผู้ใช้ zsh อย่าลืมเพิ่มบรรทัดนี้ใน ~ / .zshrc

  3. รีสตาร์ทเชลล์ของคุณหรือเริ่มต้นใหม่

    bash -l หรือ zsh


ขอบคุณทำงานได้อย่างสมบูรณ์แบบ! ทดสอบบนUbuntu 18.04บนWSL
robe007

3

ในกรณีของฉันyarn global binไม่ได้ผล

ลองดูbrew reinstall yarnว่าเป็นวิธีที่คุณติดตั้งหรือไม่yarn

👍🏻


2

เพื่อติดตั้งใหม่ให้รันด้านล่าง

brew install -g yarn

// หมายเหตุ: (อัปเดต homebrew) สำหรับผู้ใช้ Mac

brew reinstall yarn

// (หากยังไม่พบเส้นด้าย)


2

บน Ubuntu ฉันแก้ไขโดยการติดตั้งแพ็คเกจดังนี้:

sudo yarn global add <package> --prefix /usr/local

2

พบปัญหานี้ แต่ในระบบ Windows สิ่งที่ฉันต้องทำคือเพิ่มเส้นด้ายโกลบอล bin ให้กับตัวแปร PATH

setx path "%path%;c:\users\YOURUSERNAME\appdata\local\yarn\bin"

อย่าลืมเปลี่ยน YOURUSERNAME เป็นชื่อผู้ใช้บัญชีของคุณ

คุณสามารถตรวจสอบว่าถังขยะส่วนกลางของคุณอยู่ที่ไหนโดยการเรียกใช้

yarn global bin

และอย่าลืมรีสตาร์ทหน้าต่าง CMD ที่คุณกำลังทำงานอยู่ ขอให้สนุกกับการเขียนโค้ด!


1
แก้ไขปัญหาของฉันใน Windows 10 หลังจากเรียกใช้ 'yarn global add vuepress' และสร้าง read me แล้วไม่พบคำสั่ง 'vuepress dev' ก่อนหน้านี้
Boz

1

นี่คือกระบวนการที่ฉันใช้บน Mac OSX El Capitan

  1. ลองติดตั้งเส้นด้าย (ฉันใช้คำสั่ง Curl) ถ้าคุณมีอยู่แล้ว สิ่งนี้จะปรากฏขึ้นหากติดตั้งแล้วและจะให้ไดเร็กทอรีปัจจุบันที่มีอยู่

แบบนี้:

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

มันจะแสดงสิ่งนี้:

Installing Yarn!
> /Users/{Your Username}/.yarn already exists, possibly from a past Yarn install.
> Remove it (rm -rf /Users/{Your Username}/.yarn) and run this script again.

อย่าถอดออก ไปยังขั้นตอนที่ 2

  1. คัดลอกไดเร็กทอรีที่ระบุไว้ด้านบน เปิดโปรไฟล์ของคุณ ฉันใช้ zsh ของฉันก็~/.zshrcเลย คุณสามารถค้นหาของคุณและข้อมูลเพิ่มเติมที่นี่

  2. คัดลอกข้อมูลต่อไปนี้ (แทนที่รายละเอียดไดเร็กทอรีและชื่อผู้ใช้ของคุณตามความจำเป็นซึ่งเป็นข้อมูลที่คุณได้รับจากข้อความแสดงข้อผิดพลาดในการติดตั้ง)

    alias yarn="/Users/{Your Username}/.yarn/bin/yarn"

  1. ลองรันyarn versionเพื่อตรวจสอบว่าใช้งานได้หรือไม่ หากเป็นเช่นนั้นคุณควรเห็นหมายเลขเวอร์ชันที่แสดงในเทอร์มินัลของคุณ

แค่นั้นแหละและอะไรที่เหมาะกับฉัน


1

AndrewD ให้คำตอบที่ดี แต่สำหรับผู้ที่ใช้ Windows จะแตกต่างกันเล็กน้อยโดยเฉพาะขั้นตอนที่ 3

กรุณาอย่าใช้คำสั่งsetxตามที่ @Thapedict กล่าว มันจะลบเส้นทางก่อนหน้าทั้งหมดที่คุณมีและแทนที่ด้วยไดเร็กทอรีที่กำหนดเท่านั้น หากคุณต้องการใช้ setx ฉันคิดว่าอาจมีแฟล็กที่จะทำให้มันต่อท้ายตัวแปรพา ธ ที่มีอยู่ แต่ฉันไม่รู้ว่าอันไหน การใช้เฉพาะ setx จะไม่ต่อท้าย

ฉันจะทำคุณสมบัติของระบบ> ขั้นสูง> ตัวแปรสภาพแวดล้อม> แก้ไขเส้นทาง> ใหม่> c: \ users \ YOURUSERNAME \ appdata \ local \ yarn \ bin

เพื่อให้แน่ใจว่าคุณไม่ได้ลบตัวแปรก่อนหน้านี้


0

เมื่อเปลี่ยนจาก bash เป็น zsh ฉันได้รับข้อผิดพลาดเดียวกันมันใช้ได้กับฉัน:

in your .zshrc 

# NVM Stuff
export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"

# YVM Stuff
export YVM_DIR="$HOME/.yvm"
. "$(brew --prefix yvm)/yvm.sh"

ตามที่ฉันเข้าใจความผิดพลาดของฉันเกิดขึ้นเนื่องจากไม่มีสิทธิ์เข้าถึงตัวจัดการเวอร์ชัน

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