<p>benang global add tidak menginstal biner dengan benar</p>

Dibuat pada 11 Okt 2016  ·  120Komentar  ·  Sumber: yarnpkg/yarn

Apakah Anda ingin meminta _feature_ atau melaporkan _bug_?
_bug_

Bagaimana perilaku saat ini?

➜  ~  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

Apa perilaku yang diharapkan?

➜  ~  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

Sebutkan node.js, benang, dan versi sistem operasi Anda.

➜  ~  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
cat-bug cat-compatibility

Komentar yang paling membantu

Jalankan yarn global bin dan tambahkan ke $PATH .

Semua 120 komentar

Perilaku yang sama di sini, di sistem yang sama.

Hanya catatan untuk mengklarifikasi bahwa ini tidak unik untuk create-react-app. mean-cli misalnya menampilkan masalah yang sama.

Juga mendapat ini di sistem Ubuntu 15.10

Jalankan yarn global bin dan tambahkan ke $PATH .

Ini memperbaikinya. Tetapi ini tidak didokumentasikan dengan cara apa pun di sini: https://yarnpkg.com/en/docs/cli/global
(Maksud saya ya yarn global bin didokumentasikan tetapi contoh tersebut tidak menyarankan bahwa menambahkannya ke PATH Anda diperlukan)

Di komputer saya, ini mengembalikan /usr/local/Cellar/node/6.7.0/bin . Apakah ini berarti bahwa semua biner global saya terkait dengan versi node ini dan jika saya memperbarui, saya harus menginstalnya kembali? Itu terlihat berantakan bukan?

Hal lain yang saya perhatikan adalah bahwa "$(yarn global bin)" mengembalikan ^[[2K^[[1G/usr/local/Cellar/node/6.7.0/bin . Apakah saya melakukan sesuatu yang salah saat mencoba menambahkan export="${PATH}:$(yarn global bin)" ke .zshrc ?

Itu tidak didokumentasikan AFAIK. Harus. Jangan ragu untuk mengirimkan PR.
Baca ini untuk memahami mengapa jalur global bersifat khusus versi.

@wokalski apakah Anda yakin merujuk pada masalah yang benar? Saya bahkan tidak mengerti mengapa ini terkait ...

@Fahrradlut maaf! Diperbaiki.

OK saya mengerti!

Kemudian saya pergi dengan pertanyaan ini:

Hal lain yang saya perhatikan adalah bahwa "$ (yarn global bin)" mengembalikan ^ [[2K ^ [[1G / usr / local / Cellar / node / 6.7.0 / bin. Apakah saya melakukan sesuatu yang salah saat mencoba menambahkan export = "$ {PATH}: $ (yarn global bin)" ke .zshrc saya?

Saya akan mengajukan masalah baru jika saya lebih yakin bahwa saya tidak membuat kesalahan bodoh 😁

@Fahrradflucht Bukan hanya Anda, saya memiliki masalah yang sama di macOS menggunakan bash biasa.

export PATH="/usr/local/Cellar/node/6.3.1/bin:$PATH"

bekerja

export PATH="$(yarn global bin):$PATH"

Tidak. Saya telah membuka masalah; https://github.com/yarnpkg/yarn/issues/851

yarn global bin adalah /usr/bin di sistem saya. Saya ingin /usr/local/bin untuk menyelamatkan saya dari sakit kepala perm.

Sekarang setelah saya memikirkannya ... mengapa yarn global bin mengembalikan ~/.yarn-cache/.global/node_modules/.bin/ ?

@kaihendry Karena Benang dipasang oleh Homebrew

Masalah yang sama di macOS

Yarn sepertinya tidak memasang binari ke $(yarn global bin) , yang karena saya menggunakan nvm di OSX adalah /Users/username/.nvm/versions/node/v6.9.2/bin

Setelah melakukan yarn global add nodemon itu tidak dapat ditemukan, dan tidak ada dalam instalasi verbose yang menunjukkannya meletakkan file apa pun di direktori bin.

MEMPERBARUI

yarn global remove nodemon dan yarn global add nodemon memperbaikinya dan menempatkannya di $(yarn global bin) dengan benar. Namun masih tidak ada di log verbose ...

masalah yang sama persis seperti yang dikatakan @ c0bra .

Saya melihat laporan ini diperbaiki di 0,20 RC. Bisakah seseorang memverifikasi?

Saya baru saja mengalami masalah ini dengan v0.20.0 tetapi menyelesaikannya dengan menghapus dan menambahkan kembali paket seperti yang disebutkan @ c0bra .

Masih tidak berfungsi untuk saya di 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@

Masih rusak di 0.20.3 diinstal melalui homebrew di macOS.

Memiliki masalah yang sama hari ini (instalasi homebrew, benang v0.20.3). Berpikir bahwa saya lupa mengekspor folder bin ke PATH saya sebelum menginstal paket global. Saya mengekspornya menggunakan:
export PATH="$(yarn global bin):$PATH"
dan kemudian menghapus dan menambahkan kembali paket global dengan benar menghubungkan binari. (Terima kasih @ c0bra)

Bagi saya (macOS Sierra dan utas 0.21.3 via Homebrew) ini sekarang berfungsi untuk saya (yang sebelumnya tidak). Harus yarn global remove ----- && yarn global add ---- .

Saya menemui masalah yang sama dengan @erizocosmico menggunakan Yarn v0.21.3 (Saya menggunakan nvm). Perbaiki dengan langkah-langkah berikut:

  1. Tambahkan yang berikut ini ke file .zshrc :
export PATH="$(yarn global bin):$PATH"
  1. yarn global remove [package-name] lalu yarn global add [package-name]

Satu-satunya masalah mungkin adalah bahwa paket tersebut sebenarnya diinstal di /usr/local/Cellar/node/7.7.1/bin , karena saat menginstal Yarn melalui Homebrew, ia juga akan menginstal Node yang dapat dieksekusi di bawah jalur Homebrew , yang tampak aneh dan mungkin bertentangan dengan nvm. Dan karena file .zshrc dieksekusi di bawah jalur HOME sehingga paket global akan selalu diinstal di bawah folder bin Node Homebrew.

  1. Perbaikan di sini hanya sementara. Ketika pembaruan node baru mencapai paket global Anda akan berhenti berfungsi dan perlu ditautkan ulang. Beralih ke paket global ke npm untuk saat ini.

  2. Juga jika Anda menginstal paket global melalui npm , yarn tidak akan menyadarinya.

Bagaimana saya memperbaikinya:

  1. $ yarn global remove ___

  2. Pastikan NVM bersumber sebelum Anda menambahkan Yarn ke 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"
  1. $ yarn global add ___

  2. Konfirmasikan jalur penginstalan paket global

$ which ___
# Should give you...
/path/to/nvm/versions/v7.6.0/bin/___

Saya mencoba solusi yang diusulkan di atas, dan itu tidak berhasil untuk saya.
Saya melihat bahwa itu dapat disebabkan oleh berbagai cara memasang benang, dan di mana binari benang berada (dalam kasus saya, benang dipasang dengan apt-get , dan tersedia di bawah /usr/bin )

Kesalahan saya memasang ember adalah:

$ 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".

Perhatikan baris terakhir:
benang mencoba untuk meletakkan ember bin ke dalam folder (root): /usr/bin

Pada titik ini, saya menemukan dua alternatif:

  • a) sudo yarn global add ember-cli
    Pemasangan ember dengan sudo berhasil, karena benang dapat menulis menjadi /usr/bin
  • b) letakkan folder yarn/global/node_modules/.bin ke dalam $ PATH; misalnya, menambahkan sesuatu seperti ini di akhir file .(whatever)rc :
    export PATH=$PATH:$GOBIN:~/.config/yarn/global/node_modules/.bin/
    Dengan cara ini, biner global benang akan tersedia dengan harga $PATH

Ini berhasil untuk saya!

  1. Tambahkan yang berikut ini di file .zshrc saya:
    ekspor PATH = "$ (benang bin global): $ PATH"
  2. benang global hapus [nama-paket] lalu benang tambahkan global [nama-paket]

Sama di sini:

yarn --version
0.21.3
yarn global add mocha
success Installed "[email protected]" with binaries: [..]
$ mocha
-bash: mocha: command not found

Berhasil menggunakan:
npm install --global mocha

memutakhirkan dengan homebrew menyebabkan masalah lain, karena tempat sampah yang dipasang dengan benang tidak dipindahkan. Inilah yang saya miliki:

$ yarn global bin
/usr/local/Cellar/node/7.4.0/bin
$ ls $(yarn global bin)
bower     ember     node      phantomjs

sekarang tingkatkan:

$ brew update && brew upgrade

dan sekarang ini:

$ yarn global bin
/usr/local/Cellar/node/7.8.0/bin
$ ls $(yarn global bin)
node

memanggil ember:

$ ember
-bash: ember: command not found

Biner hilang, perlu dipindahkan secara manual 😦

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

Saya sudah mencoba meletakkan:
export PATH="$(yarn global bin):$PATH"
di file .zshrc saya seperti yang disarankan di atas ... me-restart terminal saya, tidak ada yang terjadi. Saya bahkan me-restart mesin saya. Tidak ada yang terjadi.

Saya sudah mencoba mengetik potongan kode di bawah ini di .zshrc saya:
export PATH="$PATH: benang bin global "
yang disarankan di https://yarnpkg.com/en/docs/install#mac -tab tetapi tetap tidak ada yang terjadi.

Ada saran lain? :)

Saya kehilangan ember dapat dieksekusi setelah memutakhirkan ke benang v0.22.0:

$ brew update && brew upgrade

Namun, menghapusnya dan menambahkan kembali memecahkan masalah bagi saya:

$ yarn global remove ember-cli
$ yarn global add ember-cli

ya itu solusinya. tetapi kita harus menemukan cara untuk memperbarui dan memindahkan barang ke direktori baru dengan mudah saat node memperbarui.

mengapa tidak ada daftar untuk paket global? adakah alasan mengapa kita tidak memiliki .yarnrc.json atau .package.json atau sesuatu, dan di sana memiliki file paket normal dengan daftar dependensi, yang akan menjadi paket global yang diinstal?

ketika saya menjalankan yarn global bin , terjadi kesalahan: No such file or directory: 'global' , saya tidak yakin apa yang salah.
benang --versi # 0.22

yarn global remove typescript && yarn global add typescript memperbaiki masalah saya.

OSX: El Capitan.
Node: 4.7.2 (melalui n)

Saat ini mengalami ini setelah meningkatkan dari 0.17 menjadi 0.22 . Perbaikan yang disarankan di sini berfungsi, tetapi saya tidak harus melakukan ini sebelumnya, yang membuat saya percaya bahwa ini adalah bug.

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

Saya sudah mencoba meletakkan potongan kode ini di profil .zshrc saya -> 1, 2 & 3.

  1. Menurut rekomendasi di atas:
    export PATH="$(yarn global bin):$PATH"
  1. Menurut https://yarnpkg.com/en/docs/install
    export PATH="$PATH: benang bin global "

  2. Saya sudah mencoba tidak memiliki kode apa pun di .zshrc saya.

Saya telah memulai ulang terminal saya, tidak ada yang terjadi.
Saya bahkan me-restart mesin saya. Tetap tidak ada.

Saya memiliki masalah yang sama dan inilah solusi saya:

Masalah

  • benang dipasang menggunakan brew
  • menggunakan yarn global add ... tidak menginstal ke jalur yang dikembalikan oleh yarn global bin yang dalam kasus saya adalah /usr/local/Cellar/node/7.9.0/bin
  • jalur sebenarnya di mana yarn global add ... menginstal paket adalah ~/.config/yarn/global/node_modules/.bin

Larutan

  • Tambahkan ini ke konfigurasi jalur saya:
export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"

Detail Sistem

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)

Saya mengalami masalah serupa. Output dari yarn global bin adalah /usr/local/bin . Menginstal gulp-cli secara global tanpa sudo ( yarn global add gulp-cli ) menghasilkan error We don't have permissions to touch the file "/usr/local/bin/gulp" . Menginstal secara global dengan sudo ( sudo yarn global add gulp-cli ) berhasil, tetapi menjalankan gulp menghasilkan bash: gulp: command not found .

Juga sangat aneh: menjalankan sudo gulp berhasil (menebak sesuatu yang salah dengan perms, masuk ke /usr/local/bin dan menjalankan ./gulp memberikan izin ditolak, tetapi menjalankan dengan sudo berfungsi), menjalankan yarn global ls atau sudo yarn global ls keluaran

yarn global v0.22.0
warning No license field
Done in 0.26s.

Saya menjalankan Arch Linux dengan npm 4.5.0, benang 0.22.0, dan node v7.7.3.
Dan ya, /usr/local/bin jelas berada di jalur saya untuk pengguna saya dan pengguna root.

EDIT (root dan jalur pengguna):

[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

Sama di ArchLinux.

Dalam kasus saya, paket yo (dan lainnya) telah diinstal ke /home/agilob/.config/yarn/global/node_modules/yo/lib . Saya mencoba menggunakan jhipster, tetapi yanr mengklaim itu menggunakan /usr/bin untuk menginstal paket:

$ yarn global bin
/usr/bin

Ia bahkan tidak memiliki hak untuk membuat file di sana.

Menjalankan perintah:
/home/agilob/.config/yarn/global/node_modules/yo/lib/cli.js jhipster bekerja dengan benar.

Terima kasih @bcessa , saya mendapatkan masalah yang sama. Menggunakan jalur berikut $HOME/.config/yarn/global/node_modules/.bin berfungsi seperti yang diharapkan.

Saya juga melihat jalur global bin keluar dari masalah sinkronisasi:

  • macOS 10.12.4
  • node.js LTS diinstal dari nodejs.org pkg
  • benang dipasang dengan menginstal script
$ 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

@OmgImAlexis Tidak yakin itu duplikat yang jelas - ada contoh masalah yang tidak melibatkan node atau benang yang dipasang dari homebrew.

Semua bagus, masih bagus untuk memiliki referensi antara masalah jika satu komit memperbaiki kedua masalah. 👍

Juga mengalami hal ini dengan benang 0,22 pada raspberry 😃

paket yang terinstal secara global seperti CRA, eslint, dll. bekerja, temukan untuk saya.

tapi yarn global ls tidak menampilkan apapun kecuali selesai

Masalah ini juga muncul ketika node diinstal oleh nvm, saya rasa itu tidak spesifik homebrew.

$(yarn global bin) sudah ada di jalur saya, tetapi sebagai contoh:

> 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

Dalam contoh ini, yarn global add yo tidak menghasilkan biner yo di jalur bin.

Di sini saya menambahkan beberapa tes di sini: https://github.com/yarnpkg/yarn/pull/3238 dan bagi saya ini ditutup. Ada beberapa kasus sudut, tetapi ada masalah lain.

@bestander

benang dipasang dari benang-0.23.4.msi, platform: Windows 10, MinGW.
Perintah global saya tidak berfungsi setelah penambahan global benang * .
Tampaknya benang menyimpan paket global di:

%USERPROFILE%\AppData\Local\Yarn\config\global\node_modules\.bin

perintah global berfungsi setelah menambahkannya ke jalur sistem.

Saya mengalami masalah ini juga menggunakan nvm.

Masalah yang sama di sana:

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

Saya memasang benang dengan manajer paket minuman.

Saya jelas memperbaiki masalah dengan menambahkan ini ke .bash_profile :

export PATH="$(yarn global bin):$PATH"sharikovvlad:~ svlad$

Tetapi jelas semua paket akan rusak setelah pembaruan node.

Saya mencoba merangkai global add ios-deploy. Biner ada di ~ / .config / yarn / global / node_modules / ios-deploy / build / Release / tetapi tidak di / usr / local / bin atau lokasi lain, yang ada di PATH.

Masalah yang sama di Node v7.8.0 dan Yarn versi v24.6 ... Saya juga mencoba menggunakan --prefix flag

yarn global add prettier --prefix /Users/newuser/.nvm/versions/node/v7.8.0/

Ini tidak berhasil.

Saya tidak yakin mengapa masalah ini ditutup, jika orang masih kesulitan mencari tahu di mana benang sih meletakkan binari, tampaknya menginstalnya dalam satu atau beberapa folder (.config dan .npm) tetapi menunjuk ke (gudang) lain, & jika situs web benang belum secara jelas mendokumentasikan masalah ini dengan rekomendasi untuk kejelasan.

Saya tidak bisa mendapatkan editor Atom saya untuk menemukan dan menggunakan eslint global saya yang dipasang oleh benang.

Saya berhasil mengatasi ini. Masalahnya tampaknya bahwa versi Homebrew dari Node menambahkan dirinya sendiri ke PATH setelah pemasangan NVM. Setelah saya mengetahuinya, yang saya lakukan hanyalah mencopot pemasangan Node Homebrew yang telah diinstal, dan itu berhasil.

@volkanunsal Saya tidak yakin saya mengerti apa yang Anda maksud

Maaf, yang saya maksud adalah dalam kasus saya, masalahnya adalah saya juga punya yang lain
instalasi Node. Jalur instalasi itu ditambahkan setelah NVM
instalasi, dan didahulukan. Di situlah benang diletakkan
paket global, tetapi itu bukan Node yang saya gunakan jadi perintah saya
paket yang saya pasang dengan benang global gagal. Itu mungkin bukan
masalah yang sama dalam kasus Anda, tetapi saya pikir itu layak untuk disebutkan. Saat disana
adalah beberapa instalasi Node, Yarn akan menggunakan salah satu jalur yang ada
yang paling baru ditambahkan ke PATH mesin Anda.

Bagi saya, perbaiki dengan mengatur awalan benang dan pasang kembali semua modul

yarn config set prefix $(npm config get prefix)

Saat mengganti versi node melalui nvm, yarn global bin tidak diperbarui, yang tampaknya juga merupakan akar penyebab masalahnya.

MEMPERBARUI:
Bahkan setelah memperbaiki yarn global bin secara manual dengan menghapus folder ~/.yarn , dan menginstal ulang.
yarn global add appium masih tidak membuat apapun di folder bin global. Fitur ini sepertinya rusak total ...

Resolusi yang dibahas di sini tampaknya memperbaikinya. Tambahkan ini ke .bash_profile

export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"

Tidak terlalu. Ini berfungsi untuk situasi di mana Anda memiliki akses ke .bash_profile . Kebanyakan program itu sendiri tidak memiliki ini (jalankan npm test dan package.json Anda menggunakan biner, yang diinstal secara global dengan benang, Anda kurang beruntung). Jika Anda menginstal sesuatu secara global, itu harus segera tersedia tanpa konfigurasi lebih lanjut. Tidak masalah jika binari diinstal ke folder khusus benang di mana saja di disk selama ada symlink ke /usr/lobal/bin .

Kasus uji saya untuk perintah itu akan menjadi (sistem mirip unix):

  • Setelah paket diinstal, symlink untuk binari dibuat ke /usr/local/bin .
  • Setelah memutakhirkan paket global, pastikan symlink masih berfungsi
  • Setelah memutakhirkan benang (dan berpotensi menyimpan paket yang diinstal secara global di suatu tempat di folder berversi benang, misalnya path/to/yarn/vX.Y.Z/packages/... ), pastikan symlink masih berfungsi

Perilaku serupa dengan cara kerja Homebrew.

Ini adalah masalah besar saat Anda mencoba menggunakan Yarn di dalam container Docker.

@gossi , ini bukan masalah dengan perbaikan langsung.
Pada banyak OS / usr / local / bin tidak tersedia, Anda mungkin memerlukan akses root ke sana, satu lokasi mungkin tidak cukup jika Anda menggunakan beberapa versi Node (nvm).

Jangan ragu untuk mengusulkan solusi yang ideal.

@bestander ok, mari kita /usr/local/bin tersedia;)
Nvm adalah masalah lain yang harus tunduk pada ini untuk bermain bergandengan tangan satu sama lain.

@ Bestander bagaimana NPM mengatasi masalah ini? Apakah solusi mereka dapat diterapkan?

Apakah ada orang di luar sana yang ingin memahami semua bin PATH global ini di seluruh OS?
Jangan ragu untuk memulai terbitan baru dan mengirim PR.
Kode yang memperbarui tempat sampah global ada di sini https://github.com/yarnpkg/yarn/blob/master/src/cli/commands/global.js#L72 , terlihat cukup jelas.

Saya pikir kita bisa mendapatkan pengalaman pengguna yang luar biasa di sini, tetapi kita membutuhkan bantuan.

@bestander Saya pikir masalahnya ada di updateCwd

kirim PR :)

Saya masih memiliki masalah ini :(

@JikkuJose Saya masih mengalami masalah ini juga. Saya menggunakan perintah yarn global add prettier . Lebih cantik dipasang di jalur .config/yarn/global/node_modules .

Saya telah menambahkan yarn global bin ke $PATH saya (pada sistem saya /usr/local/bin ), tetapi itu tidak membantu ketika hal-hal itu tidak diinstal.

versi benang: 0.27.5
versi node: v6.11.1

Saya menggunakan perintah berikut untuk menginstal Gulp:

$ yarn global add gulp

Tapi, ini tidak menunjukkan apa-apa kepada saya:

$ 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

bagaimana ini masih menjadi masalah? npm tidak menderita karena ini.

hanya mengatakan.

Saya berhenti menggunakan benang hanya karena ini. : /: /

Baik-baik saja sampai benang 1.1.0, sekarang global saya tidak ditemukan

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

@hookdump @Spongman @bennypowers karena Anda dapat melihat masalah ini telah ditutup. Akan sangat bagus jika Anda dapat mengajukan masalah baru dengan langkah-langkah reproduksi dan beberapa detail tentang konfigurasi sistem Anda (seperti apakah Anda mencoba ini sebagai pengguna root, yang menggunakan benang folder secara default diaktifkan untuk menulis, dll.) Seseorang dapat mereproduksi dan memulai sedang mengerjakannya.

Seseorang itu juga bisa menjadi Anda jika Anda tertarik!

Dan kemudian tautkan ke sini, karena di situlah google mengirim semua orang.

Mungkin @hookdump, @Spongman atau @bennypowers mengalami masalah yang sama seperti saya? https://github.com/yarnpkg/yarn/issues/4702 ?

Mengapa masalah ditutup saat masih terjadi?

@yordis, apakah Anda menggunakan zsh ?

jika demikian, masalah # 4702 mungkin terkait dengan masalah Anda

jika lingkungan PATH Anda tidak disetel dengan benar, Anda perlu memperbaikinya. Jalankan yarn global bin dan echo $PATH untuk mulai menggali masalah yang telah diselesaikan

seharusnya tidak ditutup. masih ada masalah.

@ lili21 harap ajukan masalah baru.

Saya memiliki masalah yang sama, menggunakan zsh. yarn global bin mengembalikan /home/dandv/.yarn/bin , yang tidak ada dalam $ 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

bagaimana ini masih menjadi masalah? npm tidak menderita karena ini.

Lalu cari tahu bagaimana npm menanganinya, dan mengirim permintaan tarik?

Pemilik repo ini HANYA menanggapi utas besar keluhan tentang masalah ini adalah seruan kuno dari kegagalan kualitas OSS di mana-mana: "perbaiki sendiri"?

Proyek sumber terbuka adalah proyek komunitas. Yarn tidak hanya dibuat oleh pengembang di Facebook, tetapi oleh komunitas sumber terbuka yang lebih luas. Saya bekerja di Facebook tetapi itu tidak benar-benar terkait dengan kontribusi saya pada Yarn, karena umumnya saya bekerja di luar jam kerja.

Saya hanya lelah dengan orang-orang yang berpikir bahwa mereka berhutang sesuatu oleh komunitas, tanpa memberikan imbalan apa pun. Beberapa pengembang sumber terbuka sekarang menonaktifkan bagian "masalah" di repositori GitHub mereka karena alasan ini. Khususnya untuk proyek dengan tim pengembang kecil, mencoba mengerjakan setiap masalah adalah cara mudah untuk menghilangkannya. Lisensi yang Anda setujui saat menginstal perangkat lunak apa pun yang dilisensikan di bawah lisensi BSD atau MIT (termasuk Yarn) secara eksplisit menetapkan bahwa perangkat lunak disediakan apa adanya tanpa jaminan dan tidak ada jaminan kesesuaian untuk tujuan tertentu.

Kami memiliki pepatah di Facebook: "Kode memenangkan argumen". Daripada mengeluh tentang sesuatu, sebenarnya luangkan waktu untuk memperbaikinya. ini adalah penggunaan waktu yang lebih produktif. Itulah seluruh semangat open-source: Komunitas orang yang berkontribusi pada tujuan bersama.

Adapun masalah ini, bagi saya sepertinya direktori eksekusi Yarn hilang dari $PATH . Penginstal secara eksplisit memberi tahu Anda cara menambahkannya ke jalur Anda, dan penginstal Windows akan melakukannya secara otomatis untuk Anda (kemungkinan besar kami juga akan mulai melakukannya di paket Debian). Alasan saya menyarankan untuk memeriksa apa yang dilakukan npm adalah karena mereka mungkin secara otomatis mengedit $PATH . Seseorang perlu melakukan penyelidikan itu dan melihat apa yang mereka lakukan. Siapapun bisa melakukannya.

Saya juga baru saja mengalami masalah ini. Pertama kali mencoba benang + parsel dan gagal 'bekerja' karena ini.

Mengapa masalah ini ditutup padahal masih terjadi ?, saya punya waktu 2 minggu di thread dan baru hari ini saya mengalami pkgs global, dan mereka tidak bekerja dengan baik dengan nvm. Lebih lanjut, saya melakukan thread config set prefix dan --prefix dan tidak berhasil, terus menginstal ke default global prefix ...
Mungkin saya akan mencoba memperbaikinya dalam beberapa hari lagi ...

Mengalami masalah ini, seperti semua orang di atas saya. Harapan saya adalah bahwa _yarn_ akan menginstal paket di lokasi yang sama seperti _npm_, saat menggunakan flag -global .

Apakah ada alasan atau skenario di mana ini bukan solusi terbaik atau default?

  • Orang mungkin benar-benar menyetel ini ke sesuatu selain default (saya lakukan).
  • Jalur ini kemungkinan besar sudah ada di variabel lingkungan kita. (Setelah memecahkan masalah ini sebagai langkah pertama setelah _npm_ menginstal apa pun di mesin Windows.)
  • npm root -g atau npm config get prefix mengungkapkan lokasi modul yang diinstal secara global.

IMO Saya pikir kita harus mempertimbangkan untuk mengubah perilaku default yarn global untuk menginstal di lokasi yang sama dengan awalan global _npm's_ .

Itu memang ide yang masuk akal.

Baru-baru ini saya mengalami masalah dengan jalur global di Linux dan itu rumit
untuk menemukan jalur yang perlu saya tambahkan ke PATH.

Kekurangannya adalah ini mungkin merupakan perubahan besar bagi orang-orang yang sudah memilikinya
mengatur jalur benang mereka.
Dalam beberapa kasus default global npm bin adalah / usr / local / bin atau semacamnya
tersirat untuk menggunakannya dengan sudo yang bukan merupakan pendekatan benang.

Saya ingin tahu apakah perintah 'benang global add' hanya bisa memeriksa apakah bin yang diinstal
lokasi di PATH dan mencetak peringatan jika tidak?
Apakah itu akan memuluskan segalanya?

Pada hari Jumat, 5 Jan 2018 jam 5:12 AM Mark Drake [email protected] menulis:

Mengalami masalah ini, seperti semua orang di atas saya. Harapan saya adalah itu
benang akan memasang paket di lokasi yang sama seperti npm ,
saat menggunakan flag -global.

Apakah ada alasan atau skenario di mana ini bukan yang terbaik atau
solusi default?

  • Orang mungkin benar-benar menyetel ini ke sesuatu selain default (I
    melakukan).
  • Jalur ini kemungkinan besar sudah ada di variabel lingkungan kita.
    (Setelah memecahkan masalah ini sebagai langkah pertama setelah npm
    instal di mesin Windows.)
  • Sebuah npm root -g atau npm config get prefix sederhana mengungkapkan lokasinya
    modul yang dipasang secara global.

IMO Saya pikir kita harus mempertimbangkan untuk mengubah perilaku default benangglobal untuk dipasang di lokasi yang sama dengan awalan global npm .

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/yarnpkg/yarn/issues/648#issuecomment-355551314 , atau nonaktifkan
utasnya
https://github.com/notifications/unsubscribe-auth/ACBdWMvBOVNFKloPPFBzpar60Gu0Qpbrks5tHh-egaJpZM4KT3-H
.

Saya bertanya-tanya apakah perintah 'benang global add' bisa saja memeriksa apakah lokasi bin yang diinstal ada di PATH dan mencetak peringatan jika tidak?

Saya suka ide ini. Apa pun yang berbeda akan menjadi perubahan yang merusak yang kami lakukan di rilis 1.0 dan saya tidak berpikir mengubah ini kembali adalah ide yang baik kecuali ada alasan lain. Ada diskusi panjang tentang hal ini di https://github.com/yarnpkg/yarn/pull/3721 dan masalah referensi dan PR.

Sebuah npm root -g atau npm config get prefix sederhana mengungkapkan lokasi modul yang diinstal secara global.

Benang memiliki yarn global dir sebagai padanannya.

Jika Anda menemukan bahwa binari dalam skrip ketikan tidak dipasang dan Anda memiliki @angular/cli terpasang, hapus saja dan coba pasang skrip ketikan lagi. Itu berhasil untuk saya.

Aneh? Benar!

@Fahrradflucht , benar-benar benar Aneh mengapa dokumen tidak menyarankan untuk menambahkan jalur benang ke $ PATH lingkungan.

Menggunakan ubuntu 17.10 berikut ini memecahkan masalah untuk saya:

$ echo export PATH = \ $ PATH: $ (benang bin global) >> ~ / .profile
$ source ~ / .profile

@DavidNorena Dokumen sebenarnya menyebutkan ini, tetapi karena ini adalah langkah penyiapan, ia berada di halaman instalasi. Meski begitu, masih belum dibuat super jelas seperti pada Tab Linux di halaman instal https://yarnpkg.com/en/docs/install bagian Path Setup adalah setelah instruksi untuk setiap distro Linux. Saya membayangkan kebanyakan orang menggunakan Ubuntu (yang pertama dalam daftar) sehingga tidak pernah menggulir ke bawah halaman dan tidak pernah melihat langkah penyiapan tambahan.

Tapi tetap tidak jelas, saya tidak tahu ada bagian PATH SETUP , saya hanya mengikuti langkah-langkah untuk versi Linux Box saya, tetapi tidak ada indikasi apakah akan pergi ke halaman akhir atau tidak.

Terima kasih @jthegedus dan lain kali saya akan melihat semua bagian di dokumen, tidak ada yang tahu. : D

Setelah berulang kali menangani masalah ini, saya akhirnya mencapai solusi untuk skenario saya yang saya pikir akan saya bagikan seandainya itu membantu seseorang.

Untuk referensi, saya menggunakan MacOS (_Sierra_), menggunakan zsh (dan _oh-my-zsh_ diinstal dengan _Homebrew_), NVM (_0.33.8_ diinstal melalui _Homebrew_ _-- tanpa node_)

Bin global Yarn disetel ke /users/MyUserName/usr/local/bin dan zsh tidak akan mengenali paket Yarn yang diinstal secara global karena ini tidak ada di PATH saya. Meskipun saya dapat menambahkan jalur pengguna saya, saya memutuskan untuk mengatur bin global Yarn saya untuk menggunakan /usr/local/bin , yang sudah ada di PATH yang berfungsi dan tidak akan rusak saat mengganti versi Node dengan NVM .

Saya mengalami masalah serupa khususnya dengan penginstalan global typescript .

Mengeksekusi yarn global bin output /usr/local/bin dan semua paket global lainnya memiliki binari yang ditambahkan (symlink) ke /usr/local/bin seperti yang diharapkan.

Ketika saya mengeksekusi yarn global add typescript , hasilnya adalah:

[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.

Mencoba mengeksekusi perintah tsc atau tsserver menghasilkan command not found: tsc .
Mencari di bawah /usr/local/bin tidak menampilkan tsc atau tsserver binari.

  • Ini berfungsi dengan baik saat menggunakan npm (diuji v5.6.0 )
  • Saya menggunakan yarn v1.5.1 , macOS 10.13.3

@Nexxado Saya mengikuti langkah Anda seperti yang Anda jelaskan, dan mendapat pesan yang sama dari Yarn. Namun, paket tersebut diinstal seperti yang Anda harapkan dan muncul di /usr/local/bin . Mengetik tsc -v output Version 2.8.1 .
Saya menggunakan nvm dan node version 9.6.1 dengan npm 5.6.0 .

Apakah Anda pernah mencoba menginstal ini sebelumnya dan jika demikian, apakah Anda dapat memverifikasi bahwa itu telah dihapus? Saya mengalami masalah dengan paket tertentu yang telah saya instal dengan versi sebelumnya npm atau homebrew yang mengganggu penginstalan global melalui Yarn.

@Tokopedia

Apakah Anda pernah mencoba menginstal ini sebelumnya dan jika demikian, apakah Anda dapat memverifikasi bahwa itu telah dihapus? Saya mengalami masalah dengan paket tertentu yang telah saya instal dengan versi npm atau homebrew sebelumnya yang mengganggu penginstalan global melalui Yarn.

Itu mungkin, saya tidak ingat jika saya melakukannya.
Saya menggunakan nvm dengan node v8.9.3 dan npm 5.6.0 .

Apakah Anda dapat memperbaiki "paket tertentu" yang Anda bicarakan?

Terima kasih sebelumnya :)

@Nexxado saya lakukan. Saya memiliki Gulp CLI yang diinstal dengan npm dan tidak dapat menjalankan penginstalan global dengan Yarn. Setelah saya menghapusnya dan menginstal ulang dengan Yarn, itu berhasil.

Saya menginstal node dengan asdf-nodejs , dan memiliki masalah yang sama dengan benang 1.6.0 di macOS

menambahkan baris ini di file .zshrc memecahkan masalah.

export PATH=/Users/rods/.asdf/installs/nodejs/8.9.4/.npm/bin:$PATH

Mengapa masalah ini ditutup? Saya menghadapi masalah yang sama di linux

@jthegedus @DavidNorena, apakah Anda tertarik untuk meningkatkan dokumen agar orang lain dapat memanfaatkannya?

@BYK Saya akan menautkan masalah ini dalam PR yang saya buat minggu ini: +1:

Menghadapi masalah yang sama di Jendela 10.

yarn global dir dan yarn global bin keduanya ada di% PATH% tetapi tidak ada binari yang dipasang.

menghapus dan menambahkan kembali paket tidak membantu.

Benang 1.7.0
Node.js 10.3.0

Sama disini.

Masih rusak di 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.

saya melihat ppl menambahkan jalur ke .bashrc

export PATH="$(yarn global bin):$PATH"

ekspor PATH = "$ (benang bin global): $ PATH"

NB, bagus, 666

Masalah yang sama. Servis terpasang dengan yarn global add serve . Setelah servis awal gagal: "serve: command not found". Memperbarui PATH secara manual tidak membantu saya. Saya menginstal servis dengan npm dan sekarang berfungsi. Sangat aneh bahwa masalah ini lebih dari 2 tahun dan masih belum diperbaiki.

--Edit-- Terselesaikan. lihat # 648
Masih menghadapi masalah ini. Benang yang diinstal di Fedora, saya menggunakan nvm untuk mengelola versi node. memasang pug-cli di benang secara global. Menjalankan pug kembali perintah tidak ditemukan. Saat menginstal pug-cli menggunakan npm, perintah akan berjalan.

Apakah # 648 (komentar) tidak membantu?

Salahku. Itu menyelesaikan masalah.

Saya mengalami masalah dengan NVM di container Docker yang menarik image CentOS. Ini bukan masalah dengan PATH yang salah. Saya telah menjelajahi seluruh gambar. Penginstalan global saya sama sekali tidak diinstal di mana pun. Tampaknya gagal pada langkah 1/4, menyelesaikan paket.

export PATH="$(yarn global bin):$PATH"

Bekerja untuk saya di Ubuntu.

sudo yarn global add ignite-cli
Bekerja untuk saya

Saya tidak dapat menulis ke /usr/local/bin karena izin sudo hilang:

$ 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 ada di PATH , ~/.config/yarn/global/node_modules/.bin/ ada di PATH tapi tidak ada yarn global atau yarn create yang bisa digunakan.

Silakan coba untuk memperbarui ke benang 1.22.4 @hoefling. Juga ini mungkin masalah dengan penyiapan Anda. Bagaimana Anda memasang benang?

@DanielRuf terima kasih atas tanggapan Anda! Saya memiliki 1.22.4 dipasang oleh administrator sistem:

$ 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.
...

Sepertinya paket tersebut berasal dari repo yarn sendiri.

yarn global v1.21.1

Dalam tanggapan terakhir Anda, hasilnya adalah 1.21.1.
Apakah ini masih terjadi? Saya sarankan untuk membuka masalah baru dan memeriksa masalah lain untuk mencari solusinya.

@DanielRuf Anda benar, saya telah mencoba menyiapkan salinan lokal yarn dan menurunkan versi untuk melihat apakah itu regresi. Sayangnya, kesalahan juga dapat direkonstruksi dengan 1.22.4 . Akan membuka masalah baru jika saya sendiri tidak menemukan solusi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat