هل تريد طلب _ ميزة _ أو الإبلاغ عن _ خطأ _؟
_خلل برمجي_
ما هو السلوك الحالي؟
➜ ~ yarn global add create-react-app
yarn global v0.15.1
warning No license field
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
warning [email protected]: The engine "rhino" appears to be invalid.
warning [email protected]: The engine "rhino" appears to be invalid.
[3/4] 🔗 Linking dependencies...
[4/4] 📃 Building fresh packages...
success Installed [email protected] with binaries:
- create-react-app
✨ Done in 8.43s.
➜ ~ which create-react-app
create-react-app not found
ما هو السلوك المتوقع؟
➜ ~ yarn global add create-react-app
yarn global v0.15.1
warning No license field
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
warning [email protected]: The engine "rhino" appears to be invalid.
warning [email protected]: The engine "rhino" appears to be invalid.
[3/4] 🔗 Linking dependencies...
[4/4] 📃 Building fresh packages...
success Installed [email protected] with binaries:
- create-react-app
✨ Done in 8.43s.
➜ ~ which create-react-app
/usr/local/bin/create-react-app
يرجى ذكر node.js والغزل وإصدار نظام التشغيل.
➜ ~ system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: macOS 10.12 (16A323)
Kernel Version: Darwin 16.0.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
➜ ~ node --version
v6.7.0
➜ ~ yarn --version
0.15.1
نفس السلوك هنا ، على نفس النظام.
مجرد ملاحظة لتوضيح أن هذا ليس فريدًا في إنشاء التطبيق التفاعلي. يظهر mean-cli
على سبيل المثال نفس المشكلة.
حصل هذا أيضًا على نظام Ubuntu 15.10
قم بتشغيل yarn global bin
وأضفه إلى $PATH
.
هذا يصلحه. لكن هذا غير موثق بأي شكل من الأشكال هنا: https://yarnpkg.com/en/docs/cli/global
(أعني نعم تم توثيق yarn global bin
لكن المثال لا يشير إلى أن إضافته إلى PATH ضروري)
على جهازي ، يُرجع هذا /usr/local/Cellar/node/6.7.0/bin
. هل هذا يعني أن جميع ثنائياتي العالمية مرتبطة بإصدار العقدة هذا وإذا قمت بالتحديث ، يجب إعادة تثبيتها؟ هذا يبدو فوضوي أليس كذلك؟
شيء آخر لاحظته هو أن "$(yarn global bin)"
يُرجع ^[[2K^[[1G/usr/local/Cellar/node/6.7.0/bin
. هل أفعل شيئًا خاطئًا عندما أحاول إضافة export="${PATH}:$(yarn global bin)"
إلى .zshrc
؟
انها غير موثقة AFAIK. يجب أن يكون. لا تتردد في تقديم العلاقات العامة.
اقرأ هذا لفهم سبب كون المسار العام محددًا بالإصدار.
wokalski هل أنت متأكد من أنك هذا يرتبط ...
Fahrradflucht آسف! تم التصليح.
حسنا حصلت عليه!
ثم يتبقى لي هذا السؤال:
من الأشياء الأخرى التي لاحظتها أن "$ (yarn global bin)" تعرض ^ [[2K ^ [[1G / usr / local / Cellar / node / 6.7.0 / bin. هل أفعل شيئًا خاطئًا عندما أحاول إضافة export = "$ {PATH}: $ (yarn global bin)" إلى .zshrc الخاص بي؟
سأقدم قضية جديدة إذا كنت متأكدًا من أنني لم أرتكب خطأ غبيًا 😁
Fahrradflucht ليس أنت فقط لدي نفس المشكلة على macOS باستخدام bash القديم العادي.
export PATH="/usr/local/Cellar/node/6.3.1/bin:$PATH"
يعمل
export PATH="$(yarn global bin):$PATH"
لا. لقد فتحت مشكلة ؛ https://github.com/yarnpkg/yarn/issues/851
yarn global bin
هو /usr/bin
على نظامي. أريد أن يكون /usr/local/bin
لإنقاذي من صداع بيرم.
الآن بعد أن أفكر في ذلك ... لماذا لا يعود ~/.yarn-cache/.global/node_modules/.bin/
yarn global bin
~/.yarn-cache/.global/node_modules/.bin/
؟
kaihendry لأنه تم تثبيت الغزل بواسطة Homebrew
نفس المشكلات على macOS
لا يبدو أن الغزل يقوم بتثبيت الثنائيات في $(yarn global bin)
، والذي بما أنني أستخدم nvm على OSX هو /Users/username/.nvm/versions/node/v6.9.2/bin
بعد إجراء yarn global add nodemon
لم يتم العثور عليه في أي مكان ، ولا يبدو أن أي شيء في التثبيت المطول يظهر أنه يضع أي ملفات في دليل bin.
تحديث
yarn global remove nodemon
و yarn global add nodemon
بإصلاحه ووضعه في $(yarn global bin)
بشكل صحيح. لا يزال هناك شيء في السجل المطول ولكن ...
نفس المشكلة بالضبط كما ذكر @ c0bra .
أرى تقريرًا تم إصلاحه في 0.20 RC. هل يمكن لشخص ما التحقق من فضلك؟
لقد واجهت هذه المشكلة مع الإصدار v0.20.0 ولكن تم حلها عن طريق إزالة الحزمة وإعادة إضافتها كما ذكر @ c0bra .
ما زلت لا أعمل في الإصدار v0.20.3:
$ cd $(yarn global bin)
$ ls
tern@ yarn@ yarnpkg@
$ yarn global add ember-cli
yarn global v0.20.3
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- ember
warning No license field
Done in 3.81s.
$ cd $(yarn global bin)
$ ls
tern@ yarn@ yarnpkg@
لا يزال مكسورًا في 0.20.3
مثبتًا من خلال homebrew على macOS.
واجهت نفس المشكلة اليوم (تركيب البيرة المنزلية ، الغزل v0.20.3). اعتقدت أنني نسيت تصدير مجلد bin إلى PATH قبل تثبيت الحزم العالمية. قمت بتصديره باستخدام:
export PATH="$(yarn global bin):$PATH"
ثم إزالة وإعادة إضافة الحزم العالمية المرتبطة بشكل صحيح بالثنائيات. (شكرا @ c0bra)
بالنسبة لي (macOS Sierra و yarn 0.21.3
عبر Homebrew) هذا يعمل الآن بالنسبة لي (حيث لم يكن من قبل). كان على yarn global remove -----
&& yarn global add ----
.
قابلت نفس المشكلة مع erizocosmico باستخدام Yarn v0.21.3 (أنا أستخدم nvm). تم إصلاحه باتباع الخطوات التالية:
.zshrc
:export PATH="$(yarn global bin):$PATH"
yarn global remove [package-name]
ثم yarn global add [package-name]
قد تكون المشكلة الوحيدة هي أن الحزمة مثبتة بالفعل في /usr/local/Cellar/node/7.7.1/bin
، لأنه عند تثبيت Yarn عبر Homebrew ، سيتم أيضًا تثبيت Node القابل للتنفيذ ضمن مسار Homebrew ، والذي يبدو غريبًا وقد يتعارض مع nvm. ونظرًا لأن الملف .zshrc
تم تنفيذه تحت مسار HOME ، فسيتم تثبيت الحزمة العامة دائمًا ضمن مجلد حاوية Node's الخاصة بـ Homebrew.
الإصلاحات هنا مؤقتة فقط. عند وصول تحديث جديد للعقدة ، ستتوقف حزمك العالمية عن العمل وتحتاج إلى إعادة ربط. تم التبديل للحزم العالمية إلى npm
في الوقت الحالي.
أيضًا إذا كان لديك حزم عالمية مثبتة من خلال npm
، فإن yarn
سيكون غافلًا عنها.
كيف أصلحت هذا:
$ yarn global remove ___
تأكد من أن مصدر NVM هو المصدر قبل إضافة الغزل إلى PATH
# First...
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
# Then...
export PATH="$(yarn global bin):$PATH"
$ yarn global add ___
قم بتأكيد مسار تثبيت الحزمة العالمية
$ which ___
# Should give you...
/path/to/nvm/versions/v7.6.0/bin/___
لقد جربت الحلول المقترحة أعلاه ، ولم تنجح معي.
رأيت أنه يمكن أن يكون سبب ذلك هو الطرق المختلفة لتثبيت الخيوط ، وأين توجد ثنائيات الغزل (في حالتي ، تم تثبيت الغزل بـ apt-get
، وهو متاح تحت /usr/bin
)
الخطأ الذي حصلت عليه أثناء تثبيت ember كان:
$ yarn global add ember-cli
yarn global v0.21.3
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- ember
error We don't have permissions to touch the file "/usr/bin/ember".
انتبه في السطر الأخير:
حاول الغزل وضع حاوية ember في المجلد (الجذر): /usr/bin
في هذه المرحلة ، وجدت بديلين:
sudo yarn global add ember-cli
sudo
يعمل ، لأنه بعد ذلك يمكن كتابة الغزل في /usr/bin
yarn/global/node_modules/.bin
في $ PATH ؛ على سبيل المثال ، إضافة شيء مثل هذا في نهاية ملف .(whatever)rc
الخاص بك:export PATH=$PATH:$GOBIN:~/.config/yarn/global/node_modules/.bin/
$PATH
لقد نجح هذا بالنسبة لي!
نفسه هنا:
yarn --version
0.21.3
yarn global add mocha
success Installed "[email protected]" with binaries: [..]
$ mocha
-bash: mocha: command not found
حصلت على العمل باستخدام:
npm install --global mocha
تتسبب الترقية باستخدام البيرة في مشكلة أخرى ، لأن الحاويات المثبتة مع الخيوط لا يتم نقلها. هذا ما كان لدي:
$ yarn global bin
/usr/local/Cellar/node/7.4.0/bin
$ ls $(yarn global bin)
bower ember node phantomjs
الترقية الآن:
$ brew update && brew upgrade
والآن هذا:
$ yarn global bin
/usr/local/Cellar/node/7.8.0/bin
$ ls $(yarn global bin)
node
استدعاء جمرة:
$ ember
-bash: ember: command not found
اختفت الثنائيات ، تحتاج إلى نقلها يدويًا 😦
نظام التشغيل Mac OSX
zsh --version
zsh 5.3.1 (x86_64-apple-darwin15.6.0)
nvm --version
0.33.1
node --version
v7.8.0
npm --version
4.2.0
yarn --version
0.22.0
لقد حاولت وضع:
export PATH="$(yarn global bin):$PATH"
في ملف .zshrc الخاص بي كما هو مقترح أعلاه ... إعادة تشغيل المحطة الطرفية ، لا يحدث شيء. حتى أنني قمت بإعادة تشغيل جهازي. لا شيء يحدث.
لقد حاولت كتابة مقتطف الشفرة أدناه في .zshrc الخاص بي:
export PATH="$PATH:
غزل عالمي "
هذا مقترح على https://yarnpkg.com/en/docs/install#mac -tab ولكن لا يزال هناك شيء.
أي اقتراحات أخرى؟ :)
فقدت ملفي القابل للتنفيذ ember
بعد الترقية إلى الغزل v0.22.0:
$ brew update && brew upgrade
ومع ذلك ، أدت إزالته وإعادة إضافته إلى حل المشكلة بالنسبة لي:
$ yarn global remove ember-cli
$ yarn global add ember-cli
نعم هذا هو الحل. ولكن يجب أن نجد طريقة لتحديث الأشياء ونقلها بسهولة إلى دليل جديد عند تحديث العقدة.
لماذا لا توجد قائمة للحزم العالمية؟ هل هناك سبب لعدم وجود مثل .yarnrc.json
أو .package.json
أو شيء من هذا القبيل ، وفي وجود ملف حزمة عادي مع قائمة من التبعيات ، ستكون الحزم العالمية المثبتة؟
عند تشغيل yarn global bin
، حدث الخطأ: No such file or directory: 'global'
، لست متأكدًا من الخطأ الذي حدث.
الغزل - الإصدار # 0.22
yarn global remove typescript && yarn global add typescript
حل مشكلة
OSX: إل كابيتان.
العقدة: 4.7.2 (من خلال ن)
تواجه هذا حاليًا بعد الترقية من 0.17
إلى 0.22
. يعمل الإصلاح المقترح هنا ، لكن لم يكن علي القيام بذلك في الماضي ، مما يقودني إلى الاعتقاد بأن هذا خطأ.
نظام التشغيل Mac OSX
zsh --version
zsh 5.3.1 (x86_64-apple-darwin15.6.0)
nvm --version
0.33.1
node --version
v7.9.0
npm --version
4.2.0
yarn --version
0.23.2
لقد حاولت وضع مقتطفات التعليمات البرمجية هذه في ملف تعريف zshrc الخاص بي -> 1 و 2 و 3.
export PATH="$(yarn global bin):$PATH"
وفقًا لـ https://yarnpkg.com/en/docs/install
export PATH="$PATH:
غزل عالمي "
لقد حاولت ألا يكون لدي أي شيء من الكودات في .zshrc الخاص بي.
لقد أعدت تشغيل المحطة الطرفية ، لم يحدث شيء.
حتى أنني قمت بإعادة تشغيل جهازي. لا شيء حتى الآن.
واجهت نفس المشكلة وكان هذا هو الحل:
brew
yarn global add ...
لا يتم التثبيت إلى المسار الذي تم إرجاعه بواسطة yarn global bin
والذي في حالتي هو /usr/local/Cellar/node/7.9.0/bin
yarn global add ...
هو ~/.config/yarn/global/node_modules/.bin
export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"
Mac OS 10.12.4 (16E195)
zsh --version
zsh 5.3.1 (x86_64-apple-darwin16.3.0)
node --version
v7.9.0
yarn --version
0.23.2
brew --version
Homebrew 1.1.12
Homebrew/homebrew-core (git revision a29be4; last commit 2017-04-14)
أواجه مشكلة مماثلة. ناتج yarn global bin
هو /usr/local/bin
. تثبيت gulp-cli عالميًا بدون sudo ( yarn global add gulp-cli
) يعطي error We don't have permissions to touch the file "/usr/local/bin/gulp"
. التثبيت عالميًا باستخدام sudo ( sudo yarn global add gulp-cli
) ينجح ، لكن تشغيل gulp
ينتج bash: gulp: command not found
.
أيضًا غريب جدًا: تشغيل succeds sudo gulp
(تخمين شيئًا خاطئًا في التجديدات ، الذهاب إلى /usr/local/bin
وتشغيل ./gulp
يمنح الإذن مرفوضًا ، لكن العمل مع sudo يعمل) ، تشغيل yarn global ls
مخرجات sudo yarn global ls
yarn global v0.22.0
warning No license field
Done in 0.26s.
أنا أقوم بتشغيل Arch Linux مع npm 4.5.0 و yarn 0.22.0 و node v7.7.3.
ونعم ، من الواضح أن /usr/local/bin
موجود في طريقي لكل من المستخدم والمستخدم الجذر.
تحرير (مسارات الجذر والمستخدم):
[steventheevil@Steven-PC Downloads]$ su
Password:
[root@Steven-PC Downloads]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/ruby/gems/2.4.0/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/steventheevil/.gem/ruby/2.4.0/bin
[root@Steven-PC Downloads]# exit
exit
[steventheevil@Steven-PC Downloads]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/ruby/gems/2.4.0/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/steventheevil/.gem/ruby/2.4.0/bin
نفس الشيء في ArchLinux.
في حالتي ، تم تثبيت الحزمة yo
(وغيرها) على /home/agilob/.config/yarn/global/node_modules/yo/lib
. أحاول استخدام jhipster ، لكن yanr تدعي أنها تستخدم /usr/bin
لتثبيت الحزم:
$ yarn global bin
/usr/bin
ليس لديها حتى امتيازات لإنشاء ملفات هناك.
أمر التنفيذ:
/home/agilob/.config/yarn/global/node_modules/yo/lib/cli.js jhipster
بشكل صحيح.
شكرًا bcessa ، أنا أتلقى نفس المشكلة. استخدام المسار التالي $HOME/.config/yarn/global/node_modules/.bin
يعمل كما هو متوقع.
أرى مشكلة global bin
path خارج المزامنة أيضًا:
$ which node
/usr/local/bin/node
$ node --version
v6.10.2
$ which yarn
/Users/jdub/.yarn/bin/yarn
$ yarn --version
0.23.2
$ yarn global bin
/usr/local/bin
# But yarn global add installs to ~/.config/yarn/global, so I've added it to my path, e.g.
$ which testim
/Users/jdub/.config/yarn/global/node_modules/.bin/testim
نسخة طبق الأصل: https://github.com/yarnpkg/yarn/issues/2064
OmgImAlexis لست متأكدًا من أنه نسخة مكررة واضحة - هناك أمثلة على المشكلة التي لا تتضمن عقدة أو خيوطًا مثبتة من البيرة المنزلية.
كل شيء جيد ، لا يزال من الجيد أن يكون لديك مرجع بين المشكلات في حالة التزام واحد بإصلاح كلتا القضيتين. 👍
تواجه هذا أيضًا مع خيوط 0.22 على التوت 😃
الحزم المثبتة عالميًا مثل CRA و eslint وما إلى ذلك تعمل فقط ابحث عني.
لكن yarn global ls
لا يظهر سوى أنه تم
هذه المشكلة موجودة أيضًا عند تثبيت العقدة بواسطة nvm ، لا أعتقد أنها خاصة بالبيرة المنزلية.
$(yarn global bin)
موجود بالفعل في طريقي ، ولكن على سبيل المثال:
> nvm install 6.10.2
> npm install -g yarn
> which yarn
~/.nvm/versions/node/v6.10.2/bin/yarn
> yarn global bin
~/.nvm/versions/node/v6.10.2/bin
> yarn global add yo
> ls ~/.nvm/versions/node/v6.10.2/bin
node npm yarn yarnpkg
في هذا المثال، yarn global add yo
لا تولد و yo
ثنائي في مسار بن.
لقد أضفت هنا بعض الاختبارات هنا: https://github.com/yarnpkg/yarn/pull/3238 وهذا مغلق بالنسبة لي. هناك بعض الحالات الجانبية ، ولكن هناك قضايا أخرى.
تضمين التغريدة
تم تثبيت الغزل من yarn-0.23.4.msi ، النظام الأساسي: Windows 10 ، MinGW.
لا يعمل أمري العالمي بعد إضافة الغزل العالمي * .
يبدو أن الغزل يخزن الحزم العالمية في:
%USERPROFILE%\AppData\Local\Yarn\config\global\node_modules\.bin
يعمل الأمر global بعد إضافته إلى مسار النظام.
أواجه هذه المشكلة أيضًا باستخدام nvm.
نفس المشكلة هناك:
sharikovvlad:global svlad$ node -v
v7.10.0
sharikovvlad:global svlad$ yarn --version
0.24.4
sharikovvlad:global svlad$ sw_vers -productVersion
10.12.4
# macOS Sierra 10.12.4
لقد قمت بتثبيت الغزل مع مدير حزمة الشراب.
من الواضح أنني أصلحت المشكلة عن طريق إضافة هذا إلى .bash_profile
:
export PATH="$(yarn global bin):$PATH"sharikovvlad:~ svlad$
ولكن من الواضح أنه سيتم كسر جميع الحزم بعد تحديث العقدة.
حاولت غزل العالمية إضافة نظام التشغيل iOS. الملف الثنائي موجود في ~ / .config / yarn / global / node_modules / ios-publish / build / Release / لكن ليس في / usr / local / bin أو أي مكان آخر ، في PATH.
نفس المشكلة في Node v7.8.0 و Yarn الإصدار v24.6 ... حاولت أيضًا استخدام --prefix
flag
yarn global add prettier --prefix /Users/newuser/.nvm/versions/node/v7.8.0/
إنه لا يعمل.
لست متأكدًا من سبب إغلاق هذه المشكلة ، إذا كان الأشخاص لا يزالون يواجهون مشكلة في معرفة المكان الذي يضع فيه الغزل ثنائيات ، ويبدو أنه يتم تثبيتها في مجلد واحد أو أكثر (.config و. npm) ولكن بالإشارة إلى (قبو) آخر ، وإذا لم يوثق موقع الغزل هذه المشكلة بوضوح مع توصيات للتوضيح.
لا يمكنني الحصول على محرر Atom الخاص بي لإيجاد واستخدام eslint العالمي المثبت بواسطة الغزل.
تمكنت من الالتفاف حول هذا. يبدو أن المشكلة هي أن إصدار Homebrew من Node يضيف نفسه إلى PATH بعد تثبيت NVM. بمجرد أن اكتشفت ذلك ، كل ما فعلته هو إلغاء تثبيت Node Homebrew الذي تم تثبيته ، وقد نجح.
volkanunsal لست متأكدًا من أنني أفهم ما
عذرًا ، ما قصدته في حالتي هو أن المشكلة كانت لدي أيضًا
تركيب العقدة. تمت إضافة مسار هذا التثبيت بعد NVM
التثبيت ، وهكذا كانت الأسبقية. هذا هو المكان الذي كان يضع فيه الغزل
الحزم العالمية ، ولكن لم تكن العقدة التي كنت أستخدمها ، لذا أوامري
الحزمة التي قمت بتثبيتها مع الغزل العالمي فشلت. قد لا يكون هذا هو
نفس المشكلة في حالتك لكنني اعتقدت أنها تستحق الذكر. عندما يكون هناك
هي عمليات تثبيت متعددة للعقدة ، سيستخدم Yarn الذي يكون مساره
تم إضافته مؤخرًا إلى PATH بجهازك.
بالنسبة لي ، تم إصلاحه عن طريق تعيين بادئة الغزل وإعادة تثبيت جميع الوحدات
yarn config set prefix $(npm config get prefix)
عند تبديل إصدارات العقدة عبر nvm ، لا يتم تحديث yarn global bin
، والذي يبدو أنه السبب الأساسي للمشكلة أيضًا.
تحديث:
حتى بعد إصلاح الخطأ yarn global bin
يدويًا عن طريق إزالة المجلد ~/.yarn
وإعادة التثبيت.
لا يزال yarn global add appium
لا يُنشئ أي شيء في مجلد bin global. يبدو أن هذه الميزة معطلة تمامًا ...
يبدو أن القرار الذي تم طرحه هنا لإصلاحه. أضف هذا إلى .bash_profile
export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"
لا ليس بالفعل كذلك. يعمل هذا في المواقف التي يمكنك فيها الوصول إلى .bash_profile
. معظم البرامج نفسها لا تحتوي على هذا (قم بتشغيل npm test
و package.json الخاص بك يستخدم ثنائيًا ، مثبتًا عالميًا مع الغزل ، أنت محظوظ). إذا قمت بتثبيت شيء ما بشكل عام ، فيجب أن يكون متاحًا على الفور دون أي تكوين إضافي. لا بأس إذا تم تثبيت الثنائيات في مجلد معين من الغزل في أي مكان على القرص طالما يوجد ارتباط رمزي لـ /usr/lobal/bin
.
ستكون حالات الاختبار الخاصة بي لهذا الأمر (أنظمة تشبه يونكس):
/usr/local/bin
.path/to/yarn/vX.Y.Z/packages/...
) ، تأكد من أن الروابط الرمزية لا تزال تعملسلوك مشابه لكيفية عمل البيرة.
هذه مشكلة كبيرة عندما تحاول استخدام Yarn داخل حاوية Docker.
gossi ، هذه ليست مشكلة في الإصلاح المباشر للأمام.
في العديد من أنظمة التشغيل / usr / local / bin غير متوفر ، قد تحتاج إلى الوصول إلى الجذر ، قد لا يكون موقع واحد كافيًا إذا كنت تستخدم إصدارات متعددة من Node (nvm).
لا تتردد في اقتراح حل مثالي.
@ bestander حسنًا ، دعنا /usr/local/bin
؛)
تعد Nvm مشكلة أخرى يجب أن تخضع لها لتلعب جنبًا إلى جنب مع بعضها البعض.
@ bestander كيف تحل NPM هذه المشكلة؟ هل حلهم قابل للتطبيق؟
هل هناك أي شخص يريد أن يلتف حول كل هذه المسارات بن العالمية عبر نظام التشغيل؟
لا تتردد في بدء إصدار جديد وإرسال العلاقات العامة.
الكود الذي يقوم بتحديث الصناديق العالمية موجود هنا https://github.com/yarnpkg/yarn/blob/master/src/cli/commands/global.js#L72 ، يبدو واضحًا تمامًا.
أعتقد أنه يمكننا الحصول على تجربة مستخدم رائعة هنا ولكننا بحاجة إلى بعض المساعدة.
@ bestander أعتقد أن المشكلة في updateCwd
إرسال PR :)
https://github.com/yarnpkg/yarn/pull/3458 - مرتبط أيضًا إلى حد ما
لا يزال لدي هذه المشكلة :(
JikkuJose ما yarn global add prettier
. تم تثبيت أجمل في المسار .config/yarn/global/node_modules
.
لقد أضفت yarn global bin
إلى $PATH
الخاص بي (على نظامي هو /usr/local/bin
) ، لكن هذا لا يكون مفيدًا عندما لا يتم تثبيت الأشياء.
إصدار الغزل: 0.27.5
إصدار العقدة: v6.11.1
أستخدم الأمر التالي لتثبيت Gulp:
$ yarn global add gulp
لكن هذا لا يظهر لي شيئًا:
$ ls -lah `yarn global bin` | grep gulp
$ cat /etc/issue
Ubuntu 17.04 \n \l
$ uname -a
Linux intrepid 4.10.0-28-generic #32-Ubuntu SMP Fri Jun 30 05:32:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ node --version
v8.1.3
$ nvm --version
0.33.2
كيف لا تزال هذه مشكلة؟ npm لا يعاني من هذا.
فقط أقول.
توقفت عن استخدام الغزل فقط بسبب هذا. : /: /
كان يعمل جيدًا حتى الغزل 1.1.0 ، والآن لم يتم العثور على جلوبال الخاص بي
success Installed "[email protected]" with binaries:
- bower
✨ Done in 10.40s.
$ bower
fish: Unknown command 'bower'
$ uname -a
Darwin wpa-25-242.dyn.huji.ac.il 16.3.0 Darwin Kernel Version 16.3.0: Thu Nov 17 20:23:58 P
ST 2016; root:xnu-3789.31.2~1/RELEASE_X86_64 x86_64
hookdumpbennypowersSpongman كما ترون مغلق هذه المسألة. سيكون أمرًا رائعًا إذا كان بإمكانك تقديم مشكلة جديدة بخطوات إعادة الإنتاج وبعض التفاصيل حول تكوين النظام الخاص بك (مثل هل تحاول ذلك كمستخدمي الجذر ، أي مجلد يستخدمه غزل بشكل افتراضي يتم تمكينه للكتابة وما إلى ذلك) يمكن لشخص ما إعادة الإنتاج والبدء أعمل عليه.
يمكن لهذا الشخص أيضًا أن يكون أنت إذا كنت مهتمًا!
ثم اربطها هنا من فضلك ، لأن هذا هو المكان الذي أرسلته Google إلى الجميع.
ربما تواجه hookdump أو bennypowers نفس المشكلة مثلي؟ https://github.com/yarnpkg/yarn/issues/4702 ؟
لماذا تم إغلاق المشكلة بينما لا تزال تحدث؟
yordis هل تستخدم zsh
؟
إذا كان الأمر كذلك ، فقد تكون المشكلة رقم 4702 متعلقة بمشكلتك
إذا لم يتم ضبط بيئة PATH بشكل صحيح ، فأنت بحاجة إلى إصلاح ذلك. قم بتنفيذ yarn global bin
و echo $PATH
لبدء البحث في المشكلة التي تم حلها
لا ينبغي أن تكون مغلقة. لا تزال المشكلة.
@ lili21 الرجاء تسجيل مشكلة جديدة.
لدي نفس المشكلة ، باستخدام zsh. يُرجع yarn global bin
/home/dandv/.yarn/bin
، وهو ما لا يقع ضمن $ PATH.
~ yarn global add polymer-cli
yarn global v1.3.2
[1/4] Resolving packages...
warning polymer-cli > [email protected]: ...psst! Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
warning polymer-cli > [email protected]: 🙌 Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
warning polymer-cli > polyserve > @types/[email protected]: See https://github.com/DefinitelyTyped/DefinitelyTyped/issues/12826
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- polymer
Done in 25.08s.
➜ 19:17 polymer
zsh: command not found: polymer
➜ 19:17 polymer-cli init
zsh: command not found: polymer-cli
➜ 19:17 yarn --version
1.3.2
كيف لا تزال هذه مشكلة؟ npm لا يعاني من هذا.
ثم اكتشف كيف تتعامل مع ذلك npm ، وأرسل طلب سحب؟
رد صاحب هذا الريبو الوحيد على هذا الخيط الضخم من الشكاوى حول هذه المشكلة هو الصرخة القديمة لفشل جودة OSS في كل مكان: "أصلح الأمر بنفسك"؟
المشاريع مفتوحة المصدر هي مشاريع مجتمعية. لم يتم بناء الغزل فقط من قبل المطورين في Facebook ، ولكن من خلال مجتمع مفتوح المصدر أوسع. أنا أعمل في Facebook ولكن هذا لا يتعلق حقًا بمساهماتي في Yarn ، حيث عملت بشكل عام عليها خارج ساعات العمل.
لقد سئمت من اعتقاد الناس أن المجتمع مدينون لهم بشيء ما ، دون رد أي شيء في المقابل. يقوم بعض مطوري البرامج مفتوحة المصدر الآن بتعطيل قسم "المشكلات" في مستودعات GitHub الخاصة بهم لهذا السبب. تعد محاولة العمل على كل مشكلة على حدة طريقة سهلة للتخلص منها ، خاصة بالنسبة للمشاريع التي تضم فريق تطوير صغير. يحدد الترخيص الذي توافق عليه عند تثبيت أي برنامج مرخص بموجب ترخيص BSD أو MIT (بما في ذلك Yarn) صراحةً أن البرنامج يتم توفيره كما هو بدون أي ضمان ولا ضمان للملاءمة لغرض معين.
لدينا قول مأثور في Facebook: "Code يفوز بالحجج". بدلاً من الشكوى من شيء ما ، خذ الوقت الكافي لإصلاحه. إنه استخدام أكثر إنتاجية للوقت. هذه هي الروح الكاملة للمصدر المفتوح: مجتمع من الأشخاص يساهمون في هدف مشترك.
بالنسبة لهذه المشكلة ، يبدو لي أن دليل Yarn القابل للتنفيذ مفقود من الأشخاص $PATH
. يخبرك المثبت صراحةً بكيفية إضافته إلى مسارك ، وسيقوم مثبِّت Windows بذلك تلقائيًا نيابةً عنك (من المحتمل أن نبدأ في فعل ذلك في حزمة دبيان أيضًا). السبب في أنني اقترحت التحقق مما يفعله npm هو أنهم قد يقومون تلقائيًا بتحرير $PATH
. سيحتاج شخص ما إلى إجراء هذا التحقيق ومعرفة ما يفعله. يمكن لأي شخص أن يفعل ذلك.
أنا أيضا واجهت هذه المشكلة للتو. المرة الأولى التي جربت فيها خيوط + طرد وفشلت في "العمل فقط" بسبب هذا.
لماذا تم إغلاق هذه المشكلة عندما لا يزال يحدث ؟، لدي أسبوعين على الغزل واليوم فقط واجهت pkgs العالمية ، ولا تعمل بشكل جيد مع nvm. علاوة على ذلك ، قمت بعمل بادئة تعيين الغزل و --prefix ولم تنجح ، فهي تستمر في التثبيت في بادئة عامة افتراضية ...
ربما سأحاول إصلاحه في بعض الأيام أكثر ...
ركض في هذه القضية ، مثل كل شخص فوقي. كان توقعي أن يقوم _yarn_ بتثبيت الحزم في نفس الموقع تمامًا مثل _npm_ ، عند استخدام العلم -global
.
هل هناك أي أسباب أو سيناريوهات لن يكون فيها هذا هو الحل الأفضل أو الافتراضي؟
npm root -g
أو npm config get prefix
البسيط موقع الوحدات المثبتة عالميًا.IMO أعتقد أننا يجب أن نفكر في تغيير السلوك الافتراضي yarn global
للتثبيت في نفس الموقع مثل البادئة العالمية _npm's_ .
هذه فكرة معقولة بالفعل.
لقد واجهت مؤخرًا مشكلة مع المسارات العالمية على نظام Linux وكان الأمر صعبًا
للعثور على المسار الذي أحتاجه لإضافته إلى PATH.
العيوب هي أن هذا قد يكون تغييرًا جذريًا للأشخاص الذين لديهم بالفعل
إعداد مسارات الغزل الخاصة بهم.
في بعض الحالات ، يكون npm bin العام الافتراضي هو / usr / local / bin أو شيء من هذا القبيل
يعني ضمنيًا استخدامه مع sudo وهو ليس نهج الغزل.
أتساءل عما إذا كان الأمر 'yarn global add' يمكنه فقط التحقق مما إذا كان الحاوية المثبتة
الموقع في PATH وطباعة تحذير إذا لم يكن كذلك؟
هل سيسهل الأمور؟
في الجمعة 5 يناير 2018 الساعة 5:12 صباحًا كتب Mark Drake [email protected] :
ركض في هذه القضية ، مثل كل شخص فوقي. كان توقعي أن
سيقوم الغزل بتثبيت الحزم في نفس الموقع تمامًا مثل npm ،
عند استخدام العلم العالمي.هل هناك أي أسباب أو سيناريوهات لن يكون هذا هو الأفضل أو
الحل الافتراضي؟
- قد يقوم الأشخاص بالفعل بتعيين هذا على شيء آخر غير الافتراضي (I
فعل).- سيكون هذا المسار على الأرجح بالفعل في متغيرات بيئتنا.
(بعد استكشاف هذا الأمر باعتباره الخطوة الأولى بعد أي npm
التثبيت على جهاز يعمل بنظام Windows.)- يكشف npm root -g أو npm config get بادئة الموقع
من الوحدات المثبتة عالميًا.أعتقد IMO أنه يجب علينا التفكير في تغيير السلوك الافتراضي للغزلglobal للتثبيت في نفس الموقع مثل البادئة العمومية لـ npm .
-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/yarnpkg/yarn/issues/648#issuecomment-355551314 ، أو كتم الصوت
الخيط
https://github.com/notifications/unsubscribe-auth/ACBdWMvBOVNFKloPPFBzpar60Gu0Qpbrks5tHh-egaJpZM4KT3-H
.
أتساءل عما إذا كان الأمر 'yarn global add' يمكنه فقط التحقق مما إذا كان موقع الحاوية المثبتة في PATH وطباعة تحذير إذا لم يكن كذلك؟
أحب هذه الفكرة. أي شيء مختلف سيكون بمثابة تغيير كسر الذي قمنا به في الإصدار 1.0 ولا أعتقد أن تغيير هذا مرة أخرى مرة أخرى فكرة جيدة ما لم تكن هناك أسباب أخرى. كان هناك نقاش طويل جدًا حول هذا في https://github.com/yarnpkg/yarn/pull/3721 وقضايا المراجع والعلاقات العامة.
يكشف npm root -g أو npm config get بادئة عن موقع الوحدات المثبتة عالميًا.
الغزل لديه yarn global dir
كمكافئ.
إذا وجدت أن الثنائيات الموجودة في الكتابة المطبوعة غير مثبتة وكان لديك @angular/cli
مثبتًا ، فما عليك سوى إزالته ومحاولة التثبيت مرة أخرى. هذا عمل معي.
عجيب؟ إطلاقا!
Fahrradflucht ، صحيح تمامًا إنه أمر غريب لماذا لا تقترح المستندات إضافة مسار الغزل إلى
باستخدام ubuntu 17.10 ، أدى ما يلي إلى حل المشكلة بالنسبة لي:
$ echo export PATH = \ $ PATH: $ (yarn global bin) >> ~ /. Profile
مصدر $ ~ /. Profile
DavidNorena تذكر المستندات هذا بالفعل ، ولكن نظرًا لأن هذه خطوة إعداد ، فهي موجودة في صفحة التثبيت. حتى مع ذلك ، لا يزال الأمر غير واضح تمامًا كما هو الحال في علامة تبويب Linux في صفحة التثبيت https://yarnpkg.com/en/docs/install ، يكون قسم إعداد المسار بعد الإرشادات الخاصة بكل توزيعة Linux. أتخيل أن معظم الأشخاص يستخدمون Ubuntu (وهو الأول في القائمة) ولذلك لا تقم بالتمرير لأسفل الصفحة مطلقًا ولا ترى خطوة الإعداد الإضافية مطلقًا.
ولكن لا يزال الأمر غير واضح ، لم أكن أعرف أن هناك قسم PATH SETUP ، لقد اتبعت للتو الخطوات الخاصة بإصدار Linux Box الخاص بي ، ولكن لم يكن هناك ما يشير إلى ما إذا كنت تريد الانتقال إلى نهاية الصفحة أم لا.
شكرًا لك jthegedus وفي المرة القادمة التي
بعد أن تعاملت مع هذه المشكلة مرارًا وتكرارًا ، توصلت أخيرًا إلى حل للسيناريو الخاص بي الذي اعتقدت أنني سأشاركه في حال كان يساعد شخصًا ما.
كمرجع أنا على MacOS (_Sierra_) ، باستخدام zsh (و _oh-my-zsh_ مثبت مع _Homebrew_) ، NVM (_0.33.8_ مثبتًا عبر _Homebrew_ _-- بدون عقدة_)
تم تعيين حاوية Yarn العالمية على /users/MyUserName/usr/local/bin
ولن تتعرف zsh على حزم الغزل المثبتة عالميًا لأن هذا لم يكن في PATH الخاص بي. على الرغم من أنه كان بإمكاني إضافة مسار المستخدمين ، فقد قررت بدلاً من ذلك تعيين صندوق Yarn العالمي الخاص بي لاستخدام /usr/local/bin
، والذي كان بالفعل في PATH والذي Node مع NVM .
أواجه مشكلة مماثلة على وجه التحديد مع التثبيت العالمي typescript
.
يؤدي تنفيذ yarn global bin
outputs /usr/local/bin
وجميع الحزم العالمية الأخرى تمت إضافة ثنائياتها (مرتبطة بشكل رمزي) إلى /usr/local/bin
كما هو متوقع.
عندما أقوم بتنفيذ yarn global add typescript
، يكون الناتج:
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 📃 Building fresh packages...
success Installed "[email protected]" with binaries:
- tsc
- tsserver
✨ Done in 4.89s.
محاولة تنفيذ أوامر tsc
أو tsserver
ينتج عنها command not found: tsc
.
لا يظهر البحث ضمن /usr/local/bin
لا ثنائيات tsc
ولا tsserver
.
npm
(تم اختباره v5.6.0
)yarn v1.5.1
، macOS 10.13.3
Nexxado لقد اتبعت خطواتك كما وصفتها ، /usr/local/bin
. تؤدي كتابة tsc -v
إخراج Version 2.8.1
.
أستخدم nvm
و node version 9.6.1
مع npm 5.6.0
.
هل حاولت تثبيت هذا مسبقًا وإذا كان الأمر كذلك ، فهل تمكنت من التحقق من إزالته؟ واجهت مشكلة مع بعض الحزم التي قمت بتثبيتها مع الإصدارات السابقة من npm
أو homebrew
التي تعارضت مع عمليات التثبيت العالمية عبر Yarn.
تضمين التغريدة
هل حاولت تثبيت هذا مسبقًا وإذا كان الأمر كذلك ، فهل تمكنت من التحقق من إزالته؟ واجهت مشكلة مع بعض الحزم التي قمت بتثبيتها مع الإصدارات السابقة من npm أو البيرة المنزلية التي تداخلت مع عمليات التثبيت العالمية عبر Yarn.
هذا ممكن ، لا أتذكر إذا فعلت ذلك.
أنا أستخدم nvm
مع node v8.9.3
و npm 5.6.0
.
هل كنت قادرًا على إصلاح تلك "الحزم المحددة" التي كنت تتحدث عنها؟
شكرا لك مقدما :)
Nexxado فعلت. كان لدي Gulp CLI تم تثبيته بـ npm
ولم أتمكن من تشغيل التثبيت العالمي مع Yarn. بمجرد إزالته وإعادة تثبيته باستخدام Yarn ، نجح الأمر.
لقد قمت بتثبيت العقدة بـ asdf-nodejs
، ولدي نفس المشكلة مع الغزل 1.6.0 في macOS
أضاف هذا السطر في ملف .zshrc حل المشكلة.
export PATH=/Users/rods/.asdf/installs/nodejs/8.9.4/.npm/bin:$PATH
لماذا تم إغلاق هذه القضية؟ أواجه نفس المشكلة على لينكس
jthegedusDavidNorena هل تكون مهتمة في تحسين مستندات حتى يمكن للآخرين الاستفادة؟
BYK سأربط هذه المشكلة في العلاقات العامة التي أقوم بإنشائها هذا الأسبوع: +1:
تواجه نفس المشكلة في النافذة 10.
yarn global dir
و yarn global bin
كلاهما موجودان في٪ PATH٪ ولكن لم يتم تثبيت أي ثنائيات.
إزالة وإعادة إضافة الحزمة لم يساعد.
غزل 1.7.0
Node.js 10.3.0
كذلك هنا.
لا يزال مكسورًا في 1.10.1:
$ yarn global add typescript
yarn global v1.10.1
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.47s.
$ yarn global bin
C:\Users\mikem\AppData\Local\Yarn\bin
$ yarn global list
yarn global v1.10.1
Done in 0.14s.
أرى ppl إضافة مسار إلى bashrc
export PATH="$(yarn global bin):$PATH"
تصدير PATH = "$ (حاوية عالمية للغزل): $ PATH"
نوره محمد علي 666
المشكلة نفسها. خدمة مثبتة بـ yarn global add serve
. بعد ذلك يفشل بدء الإرسال: "serve: command not found". لم يساعدني تحديث PATH يدويًا. لقد قمت بتثبيت الخدمة مع npm وهي تعمل الآن. من الغريب حقًا أن هذه المشكلة أقدم من عامين ولا تزال غير محسومة.
- تحرير - محلولة. رأي # 648
لا تزال تواجه هذه المشكلة. غزل مثبت على Fedora ، أنا أستخدم nvm لإدارة إصدارات العقدة. تثبيت الصلصال cli في الغزل عالميًا. تشغيل الصلصال عاد الأمر غير موجود. عند تثبيت pug-cli باستخدام npm ، يتم تشغيل الأمر.
هل https://github.com/yarnpkg/yarn/issues/648#issuecomment -428473725 لا يساعد؟
هل # 648 (تعليق) لا يساعد؟
خطأي. هذا يحل المشكلة.
أواجه مشكلة مع NVM في حاوية Docker تسحب صورة CentOS. إنها ليست مشكلة في كون المسار غير صحيح. لقد جفت في جميع أنحاء الصورة. لم يتم تثبيت تثبيتاتي العالمية على الإطلاق في أي مكان. يبدو أنه فشل في الخطوة 1/4 ، حل الحزم.
export PATH="$(yarn global bin):$PATH"
يعمل معي على Ubuntu.
sudo yarn global add ignite-cli
عملت من أجلي
لا يمكنني الكتابة إلى /usr/local/bin
بسبب فقدان أذونات sudo
:
$ yarn global add create-react-app
yarn global v1.21.1
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- create-react-app
error Cannot create "/usr/local/bin/create-react-app" due to insufficient permissions.
info Visit https://yarnpkg.com/en/docs/cli/global for documentation about this command.
/usr/local/bin
في PATH
، ~/.config/yarn/global/node_modules/.bin/
في PATH
لكن لا yarn global
ولا yarn create
قابلة للاستخدام.
يرجى محاولة التحديث إلى الغزل 1.22.4hoefling. قد يكون هذا أيضًا مشكلة في الإعداد الخاص بك. كيف قمت بتثبيت الغزل؟
DanielRuf أشكركم على ردكم! لقد تم تثبيت 1.22.4
بواسطة مسؤول النظام:
$ dnf info yarn
Yarn Repository 346 kB/s | 363 kB 00:01
Installed Packages
Name : yarn
Version : 1.22.4
Release : 1
Architecture : noarch
Size : 5.1 M
Source : yarn-1.22.4-1.src.rpm
Repository : <strong i="8">@System</strong>
From repo : yarn
Summary : Fast, reliable, and secure dependency management.
URL : https://yarnpkg.com/
License : BSD
Description : Fast, reliable, and secure dependency management.
...
يبدو أن الحزمة تأتي من الريبو الخاص بـ yarn
.
yarn global v1.21.1
في إجابتك الأخيرة كانت 1.21.1.
هل هذا مازال يحدث؟ أقترح فتح مشكلة جديدة والتحقق من المشكلات الأخرى للحصول على حلول.
DanielRuf أنت على حق ، لقد حاولت إعداد نسخة محلية من yarn
والرجوع إلى الدرجة لمعرفة ما إذا كان ذلك انحدارًا. لسوء الحظ ، الخطأ قابل للتكرار أيضًا مع 1.22.4
. سيفتح مشكلة جديدة إذا لم أجد حلًا بنفسي.
التعليق الأكثر فائدة
قم بتشغيل
yarn global bin
وأضفه إلى$PATH
.