Yarn: ERREUR : Il n'y a pas de scénarios ; doit en avoir au moins un.

Créé le 2 mars 2017  ·  35Commentaires  ·  Source: yarnpkg/yarn

je veux utiliser "yarn" dans mon projet npm
lors de l'exécution shell " fil " dans la coque,
il lance " ERREUR : Il n'y a pas de scénarios ; il doit y en avoir au moins un. "

quel problème?

fil --version
0,27
nœud -v
v6.9.5
uname -a
Linux wfx-pc 4.4.0-3-deepin-amd64 #1 SMP Deepin 4.4.30-2 (2016-12-01) x86_64 GNU/Linux

Commentaire le plus utile

Vous vous trompez yarn 😄 Le Yarn que vous exécutez provient du package cmdtest : http://manpages.ubuntu.com/manpages/xenial/man1/yarn.1. html. La désinstallation cmdtest devrait résoudre ce problème. Une fois que vous l'avez désinstallé, suivez les instructions sur https://yarnpkg.com/en/docs/install#linux -tab pour ajouter le référentiel Yarn :

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn

Tous les 35 commentaires

@wangfaxi1985 , veuillez vérifier à nouveau votre version yarn , la dernière version est 0.21.3 et la version taguée est 0.22.0-0 .
Vérifiez également que vous exécutez la commande yarn dans le dossier où se trouve votre package.json
Merci

Vous vous trompez yarn 😄 Le Yarn que vous exécutez provient du package cmdtest : http://manpages.ubuntu.com/manpages/xenial/man1/yarn.1. html. La désinstallation cmdtest devrait résoudre ce problème. Une fois que vous l'avez désinstallé, suivez les instructions sur https://yarnpkg.com/en/docs/install#linux -tab pour ajouter le référentiel Yarn :

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn

cmdtest semble être installé par défaut sur Ubuntu 17.04 au moins, alors peut-être que cela devrait être ajouté aux instructions d'installation...

Pour tous ceux qui trouvent cela, si vous obtenez une erreur sur sudo apt-get install yarn , exécutez d'abord sudo apt remove cmdtest .

Sur Ubuntu (au moins 17.04), après avoir sudo apt remove cmdtest , suivez d'abord https://yarnpkg.com/en/docs/install#linux-tab > Ubuntu. Alors seulement sudo apt-get install yarn . Si vous ne suivez pas https://yarnpkg.com/en/docs/install#linux -tab, alors exécuter sudo apt-get install yarn installera à nouveau cmdtest .

Sur Ubuntu 17.10, je ne parviens pas à installer yarn - j'ai supprimé le package cmdtest , mais sudo apt-get install yarn réinstalle cmdtest .

@istals J'ai le même problème que vous. Le cmdtest est toujours installé même si je le supprime d'abord. Comment puis-je obtenir du fil sur Ubuntu 17.10?

Pour Ubuntu 17.10, essayez la solution :

sudo apt remove cmdtest
sudo apt install npm
sudo npm install -g yarn

Pour Ubuntu 17.10, vous devez d'abord ajouter le référentiel Yarn.

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt remove cmdtest
sudo apt install yarn

Assurez-vous de supprimer cmdtest si vous l'avez installé.

Préférez ceci à l'installation via npm.

@jdorleans - vous n'avez pas besoin d'installer npm si vous utilisez Yarn :)

@jdorleans Merci pour votre commentaire. J'ai installé avec succès le fil en utilisant npm install -g yarn .

Ubuntu : nommons le binaire du package $ node nodejs , mais laissons également le binaire cmdtest être yarn

Ce serait beaucoup plus facile si au lieu de l'installer en tant que root, il était installé dans l'espace utilisateur.

@cserpell Vous pouvez le faire si vous le souhaitez. Il existe un script d'installation que vous pouvez utiliser, ou vous pouvez simplement télécharger l'archive Yarn et l'extraire où vous le souhaitez. Les détails sont sur le site. Quoi qu'il en soit, vous aurez toujours le problème d'avoir plusieurs fichiers binaires yarn différents si vous avez installé cmdtest .

@sheerun Pour être juste, cmdtest a d'abord utilisé la commande yarn , avant même que Yarn n'existe.

@ Daniel15 C'est ce que j'ai fait, spécialement parce que je ne peux pas installer de programmes sur lesquels je travaille. L'astuce consiste simplement à remplacer n'importe quel binaire installé par mon propre répertoire bin .

J'avais le même problème sur Ubuntu 18.04 mais j'ai pu le résoudre en utilisant les commandes suivantes :

sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn

@ Daniel15 J'ai suivi vos instructions dans le commentaire précédent et j'ai essayé de réinstaller le fil à nouveau.

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-clé ajouter -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
mise à jour sudo apt
sudo apt installer le fil

après avoir vérifié la version, j'ai trouvé que la version était 1.5.1
Est-ce que c'est bon? Ou j'ai fait quelque chose de mal.
Cela créerait-il également un problème si je désinstallais cmdtest et toutes ses dépendances?

@Nazarah - C'est exact, 1.5.1 est la dernière version stable. Si vous voulez obtenir 1.6.0, vous devez ajouter le référentiel RC à la place (remplacez "stable" par "rc" dans /etc/apt/sources.list.d/yarn.list )

@Daniel15
désinstallation de cmdtest et de la dépendance et installation de yarn.txt

Le 1er fichier texte affiche les résultats de la commande de la désinstallation de cmdtest et de toutes ses dépendances jusqu'à l'utilisation de vos commandes suggérées pour installer le fil

installation de fil frais.txt

ce fichier montre quand j'ai essayé d'exécuter du fil depuis chez moi

J'ai édité mon commentaire car j'ai réalisé que la 1.5.1 est la dernière version de Yarn :)

Merci pour vos commentaires. :RÉ

@OmerHerera

Vérifiez également que vous exécutez la commande yarn dans le dossier où se trouve votre package.json

Voulez-vous dire package.json pour mastarm ?

@becdetat J'ai installé Ubuntu 17.04 mais lorsque je tape yarn --version après avoir installé le fil comme recommandé, j'ai reçu le message « yarn » is not installed yet.You can install by typing : sudo apt install cmdtest . Ensuite, j'ai lancé sudo apt install cmdtest mais ça a échoué.

@florianeBhz Vous devez d'abord ajouter le référentiel Yarn :

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Ensuite, vous pouvez sudo apt-get update && sudo apt-get install yarn

Plus de détails sur le site Yarn : https://yarnpkg.com/en/docs/install#debian -stable

Pour votre paquet Debian, considérez soit le conflit avec cmdtest dans le debian/control ; ajouter une diversion au cas où l'exécutable cmdtest existe déjà ; utilisez le modèle update-alternatives décrit ici : https://wiki.debian.org/DebianAlternatives

; utilisez le modèle update-alternatives décrit ici : wiki.debian.org/DebianAlternatives

Les alternatives sont lorsque vous avez plusieurs applications différentes qui font la même chose. Ce n'est pas pour gérer les conflits de noms.

Cela dit, ajouter un conflit avec cmdtest semble raisonnable. Nous pouvons faire ça!

En commentaire secondaire: les développeurs Ubuntu semblaient considérer que lorsque l'utilisateur tape apt-get install foo , si foo n'existe pas mais qu'il existe une commande portant ce nom fournie par le package bar , alors c'est une bonne idée d'installer presque silencieusement le paquet bar la place.

$ sudo apt-get install yarn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'cmdtest' instead of 'yarn'
[...]
$ dpkg -S bin/yarn
cmdtest: /usr/bin/yarn

Personnellement, je pense que c'est l'un de ces cas où les gens pensent que la mise en œuvre d'un comportement moins strict facilitera la vie des gens mais compliquera vraiment les choses car cela introduit du hasard (par exemple ce problème).

Utilisez simplement nvm pour utiliser npm pour installer le fil ...

sudo apt remove cmdtest
sudo apt remove yarn
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
nvm install node -lts
npm install -g yarn
yarn --version
1.12.3

De rien 🌮

@shawnolson-fp - les gens ne devraient pas faire confiance à un script aléatoire pour installer NVM. N'existe-t-il pas une méthode officielle que vous pouvez citer au lieu de diffuser un modèle d'installation non sécurisé ? Merci!

https://github.com/creationix/nvm est le projet officiel sur Github. C'est littéralement qui l'a créé. Je ne connais pas de moyen plus sûr de le faire. L'alternative serait d'utiliser PPA qui pointerait vers nodesource.com ... seulement deux façons que je connaisse.

@shawnolson-fp - cela ne résoudra pas le problème répertorié dans ce
publier. Le problème est qu'une application différente qui fournit une commande "fil"
est installé. La seule bonne façon de réparer c'est soit en désinstallant
l'autre application ou en la supprimant de votre $PATH. Vous pouvez modifier l'ordre de
votre $PATH à la place, mais avoir deux applications qui fournissent la même commande peut
être assez déroutant de toute façon.

Envoyé depuis mon téléphone.

Le mar. 13 novembre 2018, 13 h 24, Benjamin Bach < [email protected] a écrit :

@shawnolson-fp https://github.com/shawnolson-fp - les gens ne devraient pas
faites confiance à un script aléatoire pour installer NVM. N'y a-t-il pas une méthode officielle qui
pouvez-vous citer au lieu de diffuser un modèle d'installation non sécurisé ? Merci!


Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/yarnpkg/yarn/issues/2821#issuecomment-438442528 , ou muet
le fil
https://github.com/notifications/unsubscribe-auth/AAFnHe9xSSKcMf0WCOzezhob80rXrzeTks5uuzimgaJpZM4MQv_p
.

@shawnolson-fp - cela ne résoudra pas le problème répertorié dans ce numéro. Le problème est qu'une application différente qui fournit une commande "yarn" est installée. Le seul moyen approprié de résoudre ce problème consiste à désinstaller l'autre application ou à la supprimer de votre $PATH. Vous pouvez changer l'ordre de votre $PATH à la place, mais avoir deux applications qui fournissent la même commande peut de toute façon être assez déroutant. Envoyé depuis mon téléphone.

Le mar. 13 nov. 2018, 13:24 Benjamin Bach @ . * a écrit : @shawnolson-fp https://github.com/shawnolson-fp - les gens ne devraient pas faire confiance à un script aléatoire pour installer NVM. N'existe-t-il pas une méthode officielle que vous pouvez citer au lieu de diffuser un modèle d'installation non sécurisé ? Merci! — Vous recevez ceci parce que vous avez été mentionné. Répondez directement à cet e-mail, consultez-le sur GitHub < #2821 (commentaire) > ou désactivez le fil https://github.com/notifications/unsubscribe-auth/AAFnHe9xSSKcMf0WCOzezhob80rXrzeTks5uuzimgaJpZM4MQv_p .

Je comprends le problème, mais comme vous l'avez dit, le contournement est trop compliqué pour la plupart des gens qui veulent juste que le fil fonctionne. Pourquoi diable Debian a-t-il décidé de choisir cmdtest au lieu de yarn, voilà quel est le problème. Je propose simplement un moyen alternatif d'installer yarn et npm dans le même $PATH que nvm - Un paquet assez astucieux si vous me demandez ...

Et jusqu'à ce que le problème soit résolu, très peu de gens voudront jouer avec des variables d'environnement pour résoudre quelque chose qui semble si simple.

@shawnolson-fp haha, oui j'ai remarqué que curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash était en fait l'instruction d'installation officielle et j'ai supprimé mon commentaire. Mais je suis choqué. CHOQUÉ!

De plus, _Utilisez simplement nvm pour utiliser npm pour installer le fil ...... monde cruel cruel. J'espère que tout le monde réfléchira à deux fois avant de faire cela pour obtenir left-pad ou autre chose.

D'ailleurs. la plupart des problèmes de Debian sont résolus en tournant cela. Sauf qu'avoir un package officiel semble encore un peu hors de portée.

Je n'irais certainement pas avec votre modèle, c'est trop compliqué.

Pourquoi diable Debian a-t-il décidé de choisir cmdtest au lieu de yarn, voilà quel est le problème.

Pointez le doigt vers yarn . Ils ont été avertis que ce nom de paquet avait été pris avant leur lancement public et ont reçu des contributions des personnes chargées de l'empaquetage Debian essayant de résoudre ce problème. Un effort est actuellement en cours pour créer un paquet tel qu'une version officielle puisse être dans Debian et des distributions en aval telles qu'Ubuntu.

@ Daniel15 en examinant ce problème, il semble suffisamment sûr de fermer + geler avec une note finale sur la lecture de la documentation ? Il semble que le garder ouvert entraîne des solutions de contournement indésirables ?

Références pour le travail Debian en cours :

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843021
https://salsa.debian.org/js-team/node-yarnpkg

@benjaoming lol - c'est quelque chose que je ne savais pas, mec quel gâchis !

Je ressens les deux côtés, car IMO Debian et Yarn sont tous les deux les meilleurs dans ce qu'ils sont, donc je suis déchiré 😢
Vous penseriez peut-être une simple invite à l'installation : which yarn would you like to install @facebook/yarn or cmdtest/yarn?

À ce stade, la plupart des gens diront probablement simplement $# et utiliseront npm. 😩

@facebook/yarn

Sans rapport avec le problème en question, mais Yarn est un projet communautaire, pas un projet Facebook - ce serait @yarnpkg/yarn 🙂

@arcanis lol c'était juste un exemple 😋... tellement littéral ici, ha !

en examinant ce problème, il semble assez sûr de fermer + geler avec une note finale sur la lecture de la documentation ?

Bonne idée. Je vais verrouiller cela car de nombreuses discussions sans rapport (mais précieuses !) se déroulent ici. N'hésitez pas à créer des problèmes séparés s'il reste quelque chose à discuter. En attendant, veuillez désinstaller cmdtest si vous souhaitez utiliser Yarn. Le paquet Yarn Debian "entre en conflit" avec cmdtest, il devrait donc vous en avertir.

Cette page vous a été utile?
0 / 5 - 0 notes