Según la instalación de yarn para yarn v2, quieren que instales usando npm install -g yarn . Así que ejecuté sudo npm install -g yarn en Ubuntu 20.04. Pero después de hacer eso, dice comando no encontrado.
❯ sudo npm install -g yarn > yarn@1.22.10 preinstall /usr/local/lib/node_modules/yarn > :; (node ./preinstall.js > /dev/null 2>&1 || true) ❯ yarn --version zsh: command not found: yarnsudo npm install -g npmentonces
sudo npm install -g yarnLuego reinicie su sistema. Eso lo hizo por mí. Antes de reiniciar, solo funcionaba el hilo sudo. Traté de ver los permisos de los archivos, pero todo parecía estar en orden y los archivos eran ejecutables como se esperaba. Sin embargo, después de un reinicio, funcionó.
Si va a /usr/local/bin después de la instalación, hay un enlace allí a donde vive yarn.js, como se esperaba, y los permisos de archivo también fueron correctos.
/usr/local/bin se agrega a $PATH, por lo que es sorprendente que no vea el nuevo cmd de inmediato, pero tal vez no lo recargó ni lo asignó hasta después del reinicio. No sé. Pero acabo de pasar una buena hora tratando de resolver esto, así que estoy publicando lo que funcionó para mí para ahorrarle a otros la molestia.
TL; DR Si está administrando el nodo a través de nvm , entonces probablemente la ruta al binario de hilo no esté incluida en la variable $PATH . Deberías agregar esto -
# Add this at the end (or after the $NVM_DIR initialization) # in your profile - .bashrc | .zshrc | .profile, etc export PATH="`yarn global bin`:$PATH" al final de su archivo de perfil ( .zshrc para mí) o al menos después de la inicialización $NVM_DIR .
Recientemente me enfrenté a este problema y mientras buscaba una solución, llegué aquí.
Así es como se ve mi entorno:
- Sistema operativo: Ubuntu 20.04
- Concha:
zsh- NodeJS: administrarlo a través de
nvmy NOapt.
Después de revisar todas las respuestas, no estaba interesado en desinstalar nada. Así que traté de profundizar un poco más.
Instalé yarn a través npm install -g yarn . Entonces, lo primero que quería verificar era la ubicación del binario de yarn . Para hacer esto, ejecuté el comando where yarn que enumera la ruta de instalación del binario yarn .
$ where yarn /home/<user_name>/.nvm/versions/node/v16.11.1/bin/yarn Entonces me golpeó. En mi archivo .zshrc , agregué el comando yarn global bin (que derrama el directorio de todos los paquetes globales instalados por yarn) en la parte superior de la siguiente manera:
# Top of my .zshrc file export PATH="`yarn global bin`:$HOME/bin:/usr/local/bin:$PATH" y según las instrucciones de instalación de nvm , se $NVM_DIR (la variable que contiene la ruta del directorio nvm ) al final de mi archivo .zshrc .
Entonces, cuando estaba iniciando mi shell, en realidad estaba tratando de cargar el comando yarn (presente dentro del directorio nvm ) incluso antes de cargar la ruta $NVM_DIR .
Para resolver esto, modifiqué mi archivo .zshrc y moví el comando yarn global bin después de $NVM_DIR de esta manera:
# Top of my .zshrc file export PATH="$HOME/bin:/usr/local/bin:$PATH" # ... # # Something in between # # ... # Bottom of my .zshrc file export NVM_DIR="${HOME}/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion # Here is where I have added the path to yarn global export PATH="`yarn global bin`:$$PATH"Espero que esto sea de ayuda.
Si desea evitar reiniciar, use /usr/local/lib/node_modules/yarn/bin/yarn --version