<p>yarn global add no instala los binarios correctamente</p>

Creado en 11 oct. 2016  ·  120Comentarios  ·  Fuente: yarnpkg/yarn

¿Quieres solicitar una _función_ o informar de un _ error_?
_insecto_

¿Cuál es el comportamiento actual?

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

¿Cuál es el comportamiento esperado?

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

Por favor mencione su versión de node.js, yarn y sistema operativo.

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

Comentario más útil

Ejecute yarn global bin y agréguelo a su $PATH .

Todos 120 comentarios

El mismo comportamiento aquí, en el mismo sistema.

Solo una nota para aclarar que esto no es exclusivo de create-react-app. mean-cli por ejemplo, muestra el mismo problema.

También obtuve esto en el sistema Ubuntu 15.10

Ejecute yarn global bin y agréguelo a su $PATH .

Esto lo arregla. Pero esto no está documentado de ninguna manera aquí: https://yarnpkg.com/en/docs/cli/global
(Quiero decir que sí yarn global bin está documentado, pero el ejemplo no sugiere que sea necesario agregarlo a su PATH)

En mi máquina, esto devuelve /usr/local/Cellar/node/6.7.0/bin . ¿Significa esto que todos mis binarios globales están vinculados a esta versión de nodo y si actualizo tengo que reinstalarlos? Eso parece complicado, ¿no?

Otra cosa que noté es que "$(yarn global bin)" devuelve ^[[2K^[[1G/usr/local/Cellar/node/6.7.0/bin . ¿Estoy haciendo algo mal cuando intento agregar export="${PATH}:$(yarn global bin)" a mi .zshrc ?

No está documentado AFAIK. Debería ser. No dude en enviar un PR.
Lea esto para comprender por qué la ruta global es específica de la versión.

@wokalski, ¿está seguro de que hizo referencia al problema correcto? Ni siquiera entiendo por qué esto está relacionado ...

@Fahrradflucht ¡lo siento! Arreglado.

¡Ok, lo tengo!

Entonces me quedo con esta pregunta:

Otra cosa que noté es que "$ (yarn global bin)" devuelve ^ [[2K ^ [[1G / usr / local / Cellar / node / 6.7.0 / bin. ¿Estoy haciendo algo mal cuando intento agregar export = "$ {PATH}: $ (yarn global bin)" a mi .zshrc?

Presentaría un nuevo problema si estuviera más seguro de que no cometí un error tonto 😁

@Fahrradflucht No es solo usted, tengo el mismo problema en macOS usando bash antiguo.

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

trabajos

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

No. Abrí un problema; https://github.com/yarnpkg/yarn/issues/851

yarn global bin es /usr/bin en mi sistema. Quiero que sea /usr/local/bin para salvarme de dolores de cabeza permanentes.

Ahora que lo estoy pensando ... ¿por qué yarn global bin devuelve ~/.yarn-cache/.global/node_modules/.bin/ ?

@kaihendry Porque Homebrew instaló Yarn

Mismos problemas en macOS

Yarn no parece estar instalando binarios en $(yarn global bin) , que como estoy usando nvm en OSX es /Users/username/.nvm/versions/node/v6.9.2/bin

Después de hacer yarn global add nodemon , no se encuentra en ninguna parte, y nada en una instalación detallada parece mostrar que coloque archivos en un directorio bin.

ACTUALIZAR

yarn global remove nodemon y yarn global add nodemon arreglaron y lo colocaron en $(yarn global bin) correctamente. Sin embargo, todavía no hay nada en el registro detallado ...

exactamente el mismo problema que @ c0bra declaró.

Veo un informe que se corrigió en 0.20 RC. ¿Alguien puede verificar por favor?

Me encontré con este problema con v0.20.0 pero lo resolví eliminando y volviendo a agregar el paquete como mencionó @ c0bra .

Todavía no me funciona en 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@

Aún roto en 0.20.3 instalado a través de homebrew en macOS.

Tuve el mismo problema hoy (instalación casera, hilo v0.20.3). Supuse que olvidé exportar la carpeta bin a mi RUTA antes de instalar los paquetes globales. Lo exporté usando:
export PATH="$(yarn global bin):$PATH"
y luego eliminar y volver a agregar paquetes globales correctamente vinculados a los binarios. (Gracias @ c0bra)

Para mí (macOS Sierra y yarn 0.21.3 través de Homebrew) esto ahora funciona para mí (donde no lo estaba antes). Tenía que yarn global remove ----- && yarn global add ---- .

Encontré el mismo problema con @erizocosmico usando Yarn v0.21.3 (estoy usando nvm). Se corrigió siguiendo los siguientes pasos:

  1. Agregue lo siguiente en mi archivo .zshrc :
export PATH="$(yarn global bin):$PATH"
  1. yarn global remove [package-name] luego yarn global add [package-name]

El único problema puede ser que el paquete esté realmente instalado en /usr/local/Cellar/node/7.7.1/bin , porque al instalar Yarn a través de Homebrew, también instalaría un ejecutable de Node en la ruta de Homebrew , lo que parece extraño y puede estar en conflicto con nvm. Y dado que el archivo .zshrc se ejecutó bajo la ruta de HOME, el paquete global siempre se instalaría en la carpeta bin de Homebrew's Node.

  1. Las correcciones aquí son solo temporales. Cuando llegue una nueva actualización de nodo, sus paquetes globales dejarán de funcionar y deberán volver a vincularse. Cambiado para paquetes globales a npm por el momento.

  2. Además, si tiene paquetes globales instalados a través de npm , yarn los ignorará.

Cómo arreglé esto:

  1. $ yarn global remove ___

  2. Asegúrese de que el NVM se obtenga antes de agregar hilo a su 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. Confirme la ruta de instalación del paquete global

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

Probé las soluciones propuestas anteriormente y no funcionó para mí.
Vi que puede ser causado por las diferentes formas de instalar hilo y dónde están los binarios de hilo (en mi caso, el hilo se instaló con apt-get , y está disponible en /usr/bin )

El error que obtuve al instalar ember fue:

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

Presta atención a la última línea:
yarn intentó poner el contenedor de brasas en la carpeta (raíz): /usr/bin

En este punto, encontré dos alternativas:

  • a) sudo yarn global add ember-cli
    La instalación de brasas con sudo funciona, porque entonces el hilo puede escribir en /usr/bin
  • b) coloque la carpeta yarn/global/node_modules/.bin en $ PATH; por ejemplo, agregando algo como esto al final de su archivo .(whatever)rc :
    export PATH=$PATH:$GOBIN:~/.config/yarn/global/node_modules/.bin/
    De esta manera, los binarios globales de hilo estarán disponibles en el $PATH

¡Esto funcionó para mí!

  1. Agregue lo siguiente en mi archivo .zshrc:
    export PATH = "$ (contenedor global de hilos): $ PATH"
  2. yarn global quitar [nombre-paquete] luego agregar hilo global [nombre-paquete]

Mismo por aquí:

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

Lo tengo funcionando usando:
npm install --global mocha

actualizar con cerveza casera causa otro problema, porque los contenedores instalados con hilo no se reubican. Esto es lo que tuve:

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

ahora actualice:

$ brew update && brew upgrade

y ahora esto:

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

llama a brasa:

$ ember
-bash: ember: command not found

Los binarios se han ido, es necesario reubicarlos manualmente 😦

Mac OS X

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

He intentado poner:
export PATH="$(yarn global bin):$PATH"
en mi archivo .zshrc como se sugirió anteriormente ... reinicié mi terminal, no pasa nada. Incluso reinicié mi máquina. No pasa nada.

Intenté escribir el fragmento de código a continuación en mi .zshrc:
export PATH="$PATH: contenedor global de hilos "
que se sugiere en https://yarnpkg.com/en/docs/install#mac -tab pero todavía no sucede nada.

¿Cualquier otra sugerencia? :)

Perdí mi ejecutable ember después de actualizar a yarn v0.22.0:

$ brew update && brew upgrade

Sin embargo, eliminarlo y volver a agregarlo resolvió el problema para mí:

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

sí, esa es la solución. pero deberíamos encontrar una manera de actualizar y mover cosas fácilmente a un nuevo directorio cuando el nodo se actualiza.

¿Por qué no hay una lista de paquetes globales? ¿Hay alguna razón por la que no tenemos como .yarnrc.json o .package.json o algo así, y hay un archivo de paquete normal con una lista de dependencias, que serán los paquetes globales instalados?

cuando ejecuto yarn global bin , apareció el error: No such file or directory: 'global' , no estoy seguro de qué salió mal.
hilo --versión # 0.22

yarn global remove typescript && yarn global add typescript problema solucionado para mí.

OSX: El Capitán.
Nodo: 4.7.2 (hasta n)

Actualmente experimentando esto después de actualizar de 0.17 a 0.22 . La solución sugerida aquí funciona, pero no tuve que hacer esto en el pasado, lo que me lleva a creer que se trata de un error.

Mac OS X

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

Intenté poner estos fragmentos de código en mi perfil .zshrc -> 1, 2 y 3.

  1. Según las recomendaciones anteriores:
    export PATH="$(yarn global bin):$PATH"
  1. Según https://yarnpkg.com/en/docs/install
    export PATH="$PATH: contenedor global de hilos "

  2. Intenté no tener nada de los códigos en mi .zshrc.

He reiniciado mi terminal, no pasa nada.
Incluso reinicié mi máquina. Todavía nada.

Tuve este mismo problema y esta fue mi solución:

Problema

  • el hilo se instaló usando brew
  • usar yarn global add ... no se instala en la ruta devuelta por yarn global bin que en mi caso es /usr/local/Cellar/node/7.9.0/bin
  • la ruta real donde yarn global add ... instalar los paquetes es ~/.config/yarn/global/node_modules/.bin

Solución

  • Agregue esto a mi configuración de ruta:
export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"

Detalles del sistema

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)

Tengo un problema similar. La salida de yarn global bin es /usr/local/bin . La instalación de gulp-cli globalmente sin sudo ( yarn global add gulp-cli ) da error We don't have permissions to touch the file "/usr/local/bin/gulp" . La instalación global con sudo ( sudo yarn global add gulp-cli ) tiene éxito, pero la ejecución de gulp genera bash: gulp: command not found .

También es muy peculiar: ejecutar sudo gulp exitosamente (adivinar algo mal con las permanentes, entrar en /usr/local/bin y ejecutar ./gulp da permiso denegado, pero ejecutar con sudo funciona), ejecutar yarn global ls o sudo yarn global ls salidas

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

Estoy ejecutando Arch Linux con npm 4.5.0, yarn 0.22.0 y node v7.7.3.
Y sí, /usr/local/bin está obviamente en mi camino tanto para mi usuario como para el usuario root.

EDITAR (rutas raíz y de usuario):

[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

Lo mismo en ArchLinux.

En mi caso, el paquete yo (y otros) se instaló en /home/agilob/.config/yarn/global/node_modules/yo/lib . Estoy tratando de usar jhipster, pero Yanr afirma que usa /usr/bin para instalar paquetes:

$ yarn global bin
/usr/bin

Ni siquiera tiene privilegios para crear archivos allí.

Ejecutando comando:
/home/agilob/.config/yarn/global/node_modules/yo/lib/cli.js jhipster funcionó correctamente.

Gracias @bcessa , $HOME/.config/yarn/global/node_modules/.bin funciona como se esperaba.

También veo el problema de global bin ruta fuera de sincronización:

  • macOS 10.12.4
  • node.js LTS instalado desde nodejs.org pkg
  • hilo instalado por script de instalación
$ 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 No estoy seguro de que sea un duplicado claro: hay ejemplos del problema que no involucran un nodo o hilo instalado desde homebrew.

Todo bien, todavía es bueno tener una referencia entre los problemas en caso de que una sola confirmación solucione ambos problemas. 👍

También experimentando esto con hilo 0.22 en frambuesa 😃

los paquetes instalados globalmente como CRA, eslint, etc. están funcionando, solo búscame

pero yarn global ls no muestra nada más que hecho

Este problema también está presente cuando nvm instala el nodo, no creo que sea específico de homebrew.

$(yarn global bin) ya está en mi camino, pero por ejemplo:

> 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

En este ejemplo, yarn global add yo no genera el binario yo en la ruta bin.

Aquí agregué algunas pruebas aquí: https://github.com/yarnpkg/yarn/pull/3238 y para mí esto está cerrado. Hay algunos casos de esquina, pero hay otro problema.

@bestander

hilo instalado desde yarn-0.23.4.msi, plataforma: Windows 10, MinGW.
Mi comando global no funciona después de agregar hilo global * .
Parece que el hilo almacena paquetes globales en:

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

El comando global funciona después de agregarlo a la ruta del sistema.

También me encuentro con este problema al usar nvm.

El mismo problema allí:

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

Instalé hilo con el administrador de paquetes de preparación.

Obviamente, solucioné el problema agregando esto a .bash_profile :

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

Pero, obviamente, todos los paquetes se romperán después de la actualización del nodo.

Traté de hilo global add ios-deploy. El binario existe en ~ / .config / yarn / global / node_modules / ios-deploy / build / Release / pero no en / usr / local / bin o en cualquier otra ubicación, que está en la RUTA.

El mismo problema en Node v7.8.0 y Yarn versión v24.6 ... También intenté usar --prefix flag

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

No funciona.

No estoy seguro de por qué se cierra este problema, si la gente todavía tiene problemas para averiguar dónde está colocando los binarios, aparentemente instalándolos en una o más carpetas (.config y .npm) pero apuntando a otra (bodega), y si el sitio web de hilo no ha documentado claramente este problema con recomendaciones para mayor claridad.

No puedo hacer que mi editor Atom encuentre y use mi eslint global instalado por yarn.

Me las arreglé para evitar esto. El problema parece ser que la versión Homebrew de Node se agrega a PATH más tarde que la instalación de NVM. Una vez que me di cuenta de eso, todo lo que hice fue desinstalar el Node Homebrew que había instalado, y funcionó.

@volkanunsal No estoy seguro de entender lo que quieres decir

Lo siento, lo que quise decir es que en mi caso el problema era que yo también tenía otro
instalación de Node. La ruta de esa instalación se agregó después de la NVM
instalación, por lo que estaba teniendo prioridad. Ahí es donde ponía hilo
los paquetes globales, pero no era el nodo que estaba usando, así que mis comandos para
el paquete que instalé con yarn global estaba fallando. Puede que no sea el
mismo problema en su caso, pero pensé que valía la pena mencionarlo. Cuando ahí
son múltiples instalaciones de Node, Yarn utilizará aquella cuya ruta sea
agregado recientemente al PATH de su máquina.

Para mí, se solucionó estableciendo el prefijo de hilo y reinstalando todos los módulos

yarn config set prefix $(npm config get prefix)

Al cambiar las versiones de nodo a través de nvm, mi yarn global bin no se actualiza, lo que parece ser la causa principal del problema también.

ACTUALIZAR:
Incluso después de arreglar yarn global bin manualmente eliminando la carpeta ~/.yarn y reinstalando
yarn global add appium todavía no crea nada en la carpeta bin global. Esta característica parece estar completamente rota ...

La resolución discutida aquí parece arreglarlo. Agregue esto a .bash_profile

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

No en realidad no. Esto funciona para situaciones en las que tiene acceso a su .bash_profile . La mayoría de los programas en sí no tienen esto (ejecute npm test y su package.json usa un binario, que se instala globalmente con hilo, no tiene suerte). Si instala algo globalmente, debería estar disponible instantáneamente sin ninguna configuración adicional. Está bien si los binarios están instalados en una carpeta específica de hilo en cualquier lugar del disco siempre que haya un enlace simbólico a /usr/lobal/bin .

Mis casos de prueba para ese comando serían (sistemas tipo Unix):

  • Después de la instalación del paquete, se crean enlaces simbólicos para binarios en /usr/local/bin .
  • Después de actualizar los paquetes globales, asegúrese de que los enlaces simbólicos sigan funcionando
  • Después de actualizar yarn (y potencialmente mantener los paquetes instalados globalmente en algún lugar de una carpeta con versión de yarn, por ejemplo, path/to/yarn/vX.Y.Z/packages/... ), asegúrese de que los enlaces simbólicos sigan funcionando

Comportamiento similar al funcionamiento de Homebrew.

Este es un gran problema cuando intentas usar Yarn dentro de un contenedor Docker.

@gossi , esto no es un problema con una solución sencilla.
En muchos sistemas operativos / usr / local / bin no está disponible, es posible que necesite acceso de root, una sola ubicación puede no ser suficiente si usa múltiples versiones de Node (nvm).

No dude en proponer una solución ideal.

@bestander ok, /usr/local/bin esté disponible;)
Nvm es otro problema que debería subordinarse a este para jugar mano a mano.

@bestander ¿cómo resuelve la NPM este problema? ¿Su solución es aplicable?

¿Hay alguien por ahí que quiera entender todas estas PATH de contenedores globales en todo el sistema operativo?
No dude en comenzar una nueva edición y enviar PR.
El código que actualiza los contenedores globales está aquí https://github.com/yarnpkg/yarn/blob/master/src/cli/commands/global.js#L72 , parece bastante sencillo.

Creo que podemos tener una gran experiencia de usuario aquí, pero necesitamos ayuda.

@bestander Creo que el problema está en updateCwd

enviar un PR :)

https://github.com/yarnpkg/yarn/pull/3458 - algo relacionado también

Todavía tengo este problema :(

@JikkuJose También me encuentro con este problema. Yo uso el comando yarn global add prettier . Prettier está instalado en la ruta .config/yarn/global/node_modules .

He agregado yarn global bin a mi $PATH (en mi sistema que es /usr/local/bin ), pero eso no es útil cuando no es donde se están instalando las cosas.

versión de hilo: 0.27.5
versión de nodo: v6.11.1

Estoy usando el siguiente comando para instalar Gulp:

$ yarn global add gulp

Pero esto no me muestra nada:

$ 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

¿Cómo es esto todavía un problema? npm no sufre de esto.

solo digo.

Dejé de usar hilo solo por esto. : /: /

Lo estaba haciendo bien hasta el hilo 1.1.0, ahora no se encuentran mis globales

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 como puede ver, este problema está cerrado. Sería genial si pudiera presentar un nuevo problema con los pasos de reproducción y algunos detalles sobre la configuración de su sistema (como si está intentando esto como usuarios raíz, qué carpeta usa de forma predeterminada para escritura, etc.) alguien puede reproducir y comenzar trabajando en ello.

¡Ese alguien también puede ser tú si estás interesado!

Y luego vincularlo aquí, por favor, porque ahí es donde Google envió a todos.

¿Quizás @hookdump , @Spongman o @bennypowers están teniendo el mismo problema que yo? https://github.com/yarnpkg/yarn/issues/4702 ?

¿Por qué el problema está cerrado cuando todavía ocurre?

@yordis ¿estás usando zsh ?

si ese es el caso, el problema # 4702 podría estar relacionado con su problema

si su entorno PATH no está configurado correctamente, debe solucionarlo. Ejecute yarn global bin y echo $PATH para comenzar a investigar el problema resuelto

no debería estar cerrado. todavía tengo el problema.

@ lili21 por favor presente un nuevo problema.

Tengo el mismo problema al usar zsh. yarn global bin devuelve /home/dandv/.yarn/bin , que no está en $ 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

¿Cómo es esto todavía un problema? npm no sufre de esto.

Luego, averigüe cómo lo maneja npm y envíe una solicitud de extracción.

La ÚNICA respuesta del propietario de este repositorio a este enorme hilo de quejas sobre este problema es el antiguo grito de fallas de calidad de OSS en todas partes: "¿arreglarlo usted mismo"?

Los proyectos de código abierto son proyectos comunitarios. Yarn no solo lo crean los desarrolladores de Facebook, sino también una comunidad de código abierto más amplia. Trabajo en Facebook, pero eso no está realmente relacionado con mis contribuciones a Yarn, ya que generalmente he trabajado en él fuera del horario laboral.

Estoy cansado de que la gente piense que la comunidad les debe algo, sin dar nada a cambio. Algunos desarrolladores de código abierto ahora deshabilitan la sección "problemas" de sus repositorios de GitHub por esta razón. Particularmente para proyectos con un pequeño equipo de desarrollo, tratar de trabajar en cada uno de los problemas es una forma fácil de agotarse. La licencia que acepta al instalar cualquier software con licencia BSD o MIT (incluido Yarn) especifica explícitamente que el software se proporciona tal cual, sin garantía y sin garantía de idoneidad para un propósito particular.

Tenemos un dicho en Facebook: "El código gana argumentos". En lugar de quejarte de algo, tómate el tiempo para solucionarlo. es un uso más productivo del tiempo. Ese es todo el espíritu del código abierto: una comunidad de personas que contribuyen a un objetivo común.

En cuanto a este problema, a mí me parece que el directorio ejecutable Yarn falta en el $PATH . El instalador le dice explícitamente cómo agregarlo a su ruta, y el instalador de Windows lo hará automáticamente por usted (probablemente deberíamos comenzar a hacerlo también en el paquete Debian). La razón por la que sugerí verificar qué hace npm es que podrían editar automáticamente el archivo $PATH . Alguien tendría que hacer esa investigación y ver qué están haciendo. Cualquiera puede hacerlo.

También acabo de encontrar este problema. Primera vez que probé hilo + paquete y no funcionó debido a esto.

¿Por qué se cierra este problema cuando todavía está sucediendo? Tengo como 2 semanas en hilo y hoy me encontré con paquetes globales y no funcionan bien con nvm. Además, hice yarn config set prefix y --prefix y no funcionó, sigue instalándose en el prefijo global predeterminado ...
Tal vez intente arreglarlo en algunos días más ...

Me encontré con este problema, como todos los que están por encima de mí. Mi expectativa era que _yarn_ instalaría paquetes en la misma ubicación que _npm_, al usar la bandera -global .

¿Existen razones o escenarios en los que esta no sería la mejor solución o la solución predeterminada?

  • La gente puede configurar esto en algo diferente al predeterminado (yo lo hago).
  • Esta ruta probablemente ya estará en nuestras variables de entorno. (Habiendo solucionado este problema como el primer paso después de cualquier instalación de _npm_ en una máquina con Windows).
  • Un simple npm root -g o npm config get prefix revela la ubicación de los módulos instalados globalmente.

En mi opinión, creo que deberíamos considerar cambiar el comportamiento predeterminado de yarn global para instalar en la misma ubicación que el prefijo global _npm_ .

Ciertamente es una idea razonable.

Recientemente tuve un problema con las rutas globales en Linux y fue complicado
para encontrar la ruta que necesitaba agregar a PATH.

La desventaja es que esto puede ser un cambio radical para las personas que ya tienen
configurar sus recorridos de hilo.
En algunos casos, el bin npm global predeterminado es / usr / local / bin o algo y
está implícito usarlo con sudo, que no es el enfoque del hilo.

Me pregunto si el comando 'yarn global add' podría simplemente verificar si el contenedor instalado
la ubicación está en PATH e imprime una advertencia si no lo está?
¿Suavizaría las cosas?

El viernes 5 de enero de 2018 a las 5:12 a.m., Mark Drake [email protected] escribió:

Me encontré con este problema, como todos los que están por encima de mí. Mi expectativa era que
yarn instalaría paquetes en la misma ubicación que npm ,
cuando se usa la bandera -global.

¿Hay alguna razón o escenario en el que esto no sea el mejor o
solución predeterminada?

  • Las personas pueden configurar esto en algo diferente al predeterminado (yo
    hacer).
  • Esta ruta probablemente ya estará en nuestras variables de entorno.
    (Habiendo solucionado este problema como el primer paso después de cualquier npm
    instalar en una máquina con Windows).
  • Un simple prefijo get de npm root -g o npm config revela la ubicación
    de módulos instalados globalmente.

En mi opinión, creo que deberíamos considerar cambiar el comportamiento predeterminado del hiloglobal para instalar en la misma ubicación que el prefijo global de npm .

-
Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/yarnpkg/yarn/issues/648#issuecomment-355551314 , o silenciar
la amenaza
https://github.com/notifications/unsubscribe-auth/ACBdWMvBOVNFKloPPFBzpar60Gu0Qpbrks5tHh-egaJpZM4KT3-H
.

Me pregunto si el comando 'yarn global add' podría simplemente verificar si la ubicación del contenedor instalado está en PATH e imprimir una advertencia si no lo está.

Me encanta esta idea. Cualquier cosa diferente sería un cambio rotundo que hicimos en la versión 1.0 y no creo que volver a cambiar esto sea una buena idea a menos que haya otras razones. Hubo una discusión muy larga sobre esto en https://github.com/yarnpkg/yarn/pull/3721 y problemas de referencias y relaciones públicas.

Un simple prefijo get de npm root -g o npm config revela la ubicación de los módulos instalados globalmente.

El hilo tiene yarn global dir como equivalente.

Si encuentra que los binarios en mecanografiado no están instalados y tiene @angular/cli instalado, simplemente elimínelo e intente instalar de nuevo mecanografiado. Eso funcionó para mí.

¿Extraño? ¡Absolutamente!

@Fahrradflucht , absolutamente cierto Es extraño por qué los documentos no sugieren agregar la ruta del

Usando ubuntu 17.10, lo siguiente me resolvió el problema:

$ echo export PATH = \ $ PATH: $ (contenedor global de hilo) >> ~ / .profile
$ fuente ~ / .profile

@DavidNorena Los documentos realmente mencionan esto, pero como se trata de un paso de configuración, reside en la página de instalación. Incluso entonces, todavía no está muy claro, ya que en la pestaña Linux en la página de instalación https://yarnpkg.com/en/docs/install, la sección Configuración de ruta está después de las instrucciones para cada distribución de Linux. Me imagino que la mayoría de la gente usa Ubuntu (que es el primero en la lista), por lo que nunca se desplace hacia abajo en la página y nunca vea el paso de configuración adicional.

Pero aún no está claro, no sabía que había una sección de CONFIGURACIÓN DE RUTA , solo seguí los pasos para mi versión de Linux Box, pero no había ninguna indicación de si ir al final de la página o no.

Gracias @jthegedus y la próxima vez buscaré todas las secciones en los documentos, nadie lo sabe. :RE

Habiendo tratado repetidamente con este problema, finalmente llegué a una solución para mi escenario que pensé en compartir en caso de que ayudara a alguien.

Como referencia, estoy en MacOS (_Sierra_), usando zsh (y _oh-my-zsh_ instalado con _Homebrew_), NVM (_0.33.8_ instalado a través de _Homebrew_ _-- sin nodo_)

El contenedor global /users/MyUserName/usr/local/bin y zsh no reconocería los paquetes de Yarn instalados globalmente ya que esto no estaba en mi RUTA . Si bien podría haber agregado la ruta de mis usuarios, decidí configurar mi contenedor global de Yarn para usar /usr/local/bin , que ya estaba en PATH, que funcionó y no se romperá al cambiar las versiones de Node con NVM .

Tengo un problema similar específicamente con una instalación global de typescript .

La ejecución de yarn global bin genera /usr/local/bin y todos los demás paquetes globales tienen sus binarios agregados (enlazados simbólicamente) a /usr/local/bin como se esperaba.

Cuando ejecuto yarn global add typescript , la salida es:

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

Intentar ejecutar los comandos tsc o tsserver da como resultado command not found: tsc .
Si mira debajo de /usr/local/bin , no se muestran tsc ni tsserver binarios.

  • Esto funciona bien cuando se usa npm (probado v5.6.0 )
  • Estoy usando yarn v1.5.1 , macOS 10.13.3

@Nexxado Seguí tus pasos como lo describiste y recibí los mismos mensajes de Yarn. Sin embargo, los paquetes se instalaron como era de esperar y aparecen en /usr/local/bin . Escribir tsc -v genera Version 2.8.1 .
Estoy usando nvm y node version 9.6.1 con npm 5.6.0 .

¿Había intentado instalar esto anteriormente y, de ser así, pudo verificar que se eliminó? Tuve problemas con ciertos paquetes que había instalado con versiones anteriores de npm o homebrew que interferían con las instalaciones globales a través de Yarn.

@SiriusBits

¿Había intentado instalar esto anteriormente y, de ser así, pudo verificar que se eliminó? Tuve problemas con ciertos paquetes que había instalado con versiones anteriores de npm o homebrew que interferían con las instalaciones globales a través de Yarn.

Eso es posible, no recuerdo si lo hice.
Estoy usando nvm con node v8.9.3 y npm 5.6.0 .

¿Pudiste arreglar esos "ciertos paquetes" de los que hablabas?

Gracias por adelantado :)

@Nexxado lo hice. Tenía Gulp CLI que se instaló con npm y no pude hacer funcionar la instalación global con Yarn. Una vez que lo quité y lo reinstalé con Yarn, funcionó.

Instalé el nodo con asdf-nodejs , y tengo el mismo problema con yarn 1.6.0 en macOS

agregué esta línea en el archivo .zshrc resolvió el problema.

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

¿Por qué está cerrado este problema? Estoy enfrentando el mismo problema en linux

@jthegedus @DavidNorena ¿estaría interesado en mejorar los documentos para que otros puedan beneficiarse?

@BYK Vincularé este problema en el PR que creo esta semana: +1:

Enfrentando el mismo problema en Windows 10.

yarn global dir y yarn global bin están ambos en% PATH% pero no hay binarios instalados.

eliminar y volver a agregar un paquete no ayudó.

Hilado 1.7.0
Node.js 10.3.0

Igual que aquí.

Aún roto en 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.

Veo que ppl agrega ruta a .bashrc

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

export PATH = "$ (contenedor global de hilos): $ PATH"

NB, bonito, 666

Mismo problema. Servir instalado con yarn global add serve . Después de que el saque inicial falla: "servicio: comando no encontrado". Actualizar PATH manualmente no me ayudó. Instalé serve con npm y ahora funciona. Realmente extraño que este problema tenga más de 2 años y aún no se haya solucionado.

--Editar-- Resuelto. vista # 648
Aún enfrenta este problema. Yarn instalado en Fedora, estoy usando nvm para administrar las versiones de los nodos. instaló pug-cli en hilo a nivel mundial. Ejecutando pug devuelto comando no encontrado. Cuando se instala pug-cli usando npm, se ejecuta el comando.

¿El # 648 (comentario) no ayuda?

Culpa mía. Eso resuelve el problema.

Estoy encontrando el problema con NVM en un contenedor Docker que extrae una imagen CentOS. No es un problema que el PATH sea incorrecto. He recorrido toda la imagen. Mis instalaciones globales no se están instalando en ninguna parte. Parece fallar en el paso 1/4, resolviendo paquetes.

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

Funciona para mí en Ubuntu.

sudo yarn global add ignite-cli
Trabajó para mi

No puedo escribir en /usr/local/bin debido a que faltan sudo permisos:

$ 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 está en PATH , ~/.config/yarn/global/node_modules/.bin/ está en PATH pero ni yarn global ni yarn create son utilizables.

Intente actualizar a yarn 1.22.4 @hoefling. Además, esto podría ser un problema con su configuración. ¿Cómo instalaste el hilo?

@DanielRuf ¡ gracias por tu respuesta! Tengo 1.22.4 instalado por el administrador del sistema:

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

Parece que el paquete proviene del repositorio propio de yarn .

yarn global v1.21.1

En su última respuesta fue 1.21.1.
¿Sigue pasando esto? Sugiero abrir un nuevo problema y verificar los otros problemas para encontrar soluciones.

@DanielRuf tiene razón, he intentado configurar una copia local de yarn y degradarla para ver si es una regresión. Desafortunadamente, el error también se puede reproducir con 1.22.4 . Abriré un nuevo problema si no encuentro una solución.

¿Fue útil esta página
0 / 5 - 0 calificaciones