¿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
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:
.zshrc
:export PATH="$(yarn global bin):$PATH"
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.
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.
Además, si tiene paquetes globales instalados a través de npm
, yarn
los ignorará.
Cómo arreglé esto:
$ yarn global remove ___
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"
$ yarn global add ___
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:
sudo yarn global add ember-cli
sudo
funciona, porque entonces el hilo puede escribir en /usr/bin
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/
$PATH
¡Esto funcionó para mí!
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.
export PATH="$(yarn global bin):$PATH"
Según https://yarnpkg.com/en/docs/install
export PATH="$PATH:
contenedor global de hilos "
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:
brew
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
yarn global add ...
instalar los paquetes es ~/.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)
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:
$ 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
Duplicado: https://github.com/yarnpkg/yarn/issues/2064
@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):
/usr/local/bin
.path/to/yarn/vX.Y.Z/packages/...
), asegúrese de que los enlaces simbólicos sigan funcionandoComportamiento 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?
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.
npm
(probado v5.6.0
)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.
¿ Https://github.com/yarnpkg/yarn/issues/648#issuecomment -428473725 no ayuda?
¿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.
Comentario más útil
Ejecute
yarn global bin
y agréguelo a su$PATH
.