यार्न वैश्विक कमांड काम नहीं कर रहा है


114

मैं यार्न v0.16.1 के साथ काम कर रहा हूं। यदि मैं सही ढंग से ( प्रलेखन के अनुसार ) समझता हूं , yarn global add <package>तो इसके बराबर होना चाहिए npm install -g <package>। हालाँकि, जब मैं डॉक्स (उदाहरण) में उदाहरण चलाता हूं 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

एनपीएम के साथ एक वैश्विक इंस्टॉल करने का अपेक्षित परिणाम है, और सब कुछ काम करता है। मुझे क्या सूत याद आ रहा है?

जवाबों:


179

आपको export PATH="$PATH:$(yarn global bin)"अपने ~/.bash_profileया जो भी आप उपयोग करते हैं उसे जोड़ना चाहिए । यह समस्या को हल करेगा।

आपने इसे कैसे स्थापित किया, इसके आधार पर, यार्न का वैश्विक फ़ोल्डर किसी कारण से भिन्न होता है। आप यहां इस मुद्दे का अनुसरण कर सकते हैं।


6
आपके बैश शेल में बदलाव को अपडेट करने के लिए संपादित करने के बाद आपको ".bash_profile" फ़ाइल को भी स्रोत करना चाहिए source ~/.bash_profile:।
tfmontague

1
कुछ प्रणालियों पर आपको yarn global binअपने आप को चलाने की ज़रूरत पड़ सकती है और ~/.bash_profileसब-रील के बजाय शाब्दिक यूआरएल का उपयोग कर सकते हैं , कुछ इस तरह से:export PATH="$PATH:/usr/local/bin"
नाथन आर्थर

मुझे इस टिप्पणी से सलाह का पालन करना था, जो उत्तर में इंगित मुद्दे में थी। 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
18'18

1
उबंटू उपयोगकर्ताओं के लिए जो इस मुद्दे पर आते हैं, export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"अपने ~ / .bash_profile
पिट

2
zsh के लिए, बस .zshrc पर डालें
Shad

48

अपडेट दिसंबर 2018

सिर्फ पथ को अपडेट करने से मेरे लिए काम नहीं किया गया। मुझे सूत का उपसर्ग भी लगाना था।

  • 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. यार्न उपसर्ग सेट करें:

    सुनिश्चित करें कि आपका यार्न उपसर्ग आपके बिन निर्देशिका की मूल निर्देशिका है। आप चलाकर पुष्टि कर सकते हैं

    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


धन्यवाद, पूरी तरह से काम करता है! WSL पर Ubuntu 18.04 पर परीक्षण किया गया
robe007

3

मेरे मामले yarn global binमें काम नहीं कर रहा था।

brew reinstall yarnयदि आप इसे स्थापित करते हैं तो प्रयास करेंyarn

👍🏻


2

नीचे चलाने के लिए।

brew install -g yarn

// नोट: मैक उपयोगकर्ताओं के लिए (होमब्रेव को अपडेट करते हुए)।

brew reinstall yarn

// (यदि यार्न अभी भी नहीं मिला है)


2

उबंटू पर, मैंने पैकेज को इस तरह स्थापित करके तय किया:

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

2

इस समस्या में भाग गया, लेकिन एक विंडोज सिस्टम पर। मुझे केवल इतना करना था कि यार्न ग्लोबल बिन को PATH वैरिएबल में जोड़ा जाए।

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

अपने खाते के उपयोगकर्ता नाम में परिवर्तन करने के लिए याद रखें।

आप जांच कर सकते हैं कि आपका वैश्विक बिन कहां चल रहा है

yarn global bin

और कृपया उस CMD विंडो को पुनरारंभ करना न भूलें जो आप काम कर रहे हैं। हैप्पी कोडिंग!


1
'यार्न ग्लोबल ऐड व्यूप्रेस' को चलाने के बाद विंडोज 10 पर मेरे मुद्दे को हल किया और मुझे पढ़ा, 'वूप्रेस देव' कमांड को पहले नहीं पाया जा सका।
बोज़

1

यहाँ मैं मैक OSX एल Capitan पर इस्तेमाल किया प्रक्रिया है।

  1. यदि आपके पास पहले से ही यार्न (मैंने कर्ल कमांड का उपयोग किया है) स्थापित करने का प्रयास करें। यदि यह पहले से ही स्थापित है और यह आपको वर्तमान निर्देशिका प्रदान करेगा, जहां यह मौजूद है।

ऐशे ही:

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

एंड्रयूडी ने एक शानदार जवाब दिया, लेकिन विंडोज पर उन लोगों के लिए यह थोड़ा अलग है, खासकर चरण 3।

कृपया कमांड का उपयोग न करें setxजैसा कि @ थैप्डिक्ट ने कहा है। यह आपके पिछले सभी रास्तों को हटा देगा और इसे केवल दी गई निर्देशिका से बदल देगा। यदि आप सेटेक्स का उपयोग करना चाहते हैं, तो मुझे लगता है कि मौजूदा पथ चर को जोड़ने के लिए एक ध्वज हो सकता है, लेकिन मुझे नहीं पता कि कौन सा है। केवल सेटक्स का उपयोग करने से यह लागू नहीं होगा।

मैं सिर्फ सिस्टम प्रॉपर्टीज़> एडवांस> एनवायरनमेंट वेरिएबल्स> एडिट पाथ> न्यू> c: \ Users \ YourUSERNAME \ appdata \ local \ यार्न \ बिन

यह सुनिश्चित करने के लिए कि आप अपने पिछले चर नहीं हटाते हैं।


0

बैश से ज़श पर स्विच करते समय, मुझे वही त्रुटि मिली, यह मेरे लिए काम कर रहा है:

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"

जैसा कि मैं इसे समझता हूं, संस्करण प्रबंधकों तक पहुंच की कमी के कारण मेरी गलती उत्पन्न हुई

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.