loopbackio / loopbackio/loopback-next

Detection of yarn does not work (anymore?)

Ouverte
#9,520 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug
Langage dominant
TypeScript
Étoiles
5.1k
Forks
1.1k
Merge moyen
2 j 21 h
PR mergées (30 j)
27

Description

### Describe the bug

While loopback-cli tries to detect yarn a file `yarn-error.log` is generated. It seems that yarn cannot write to it's stdout when it is spawned as a child process by `lb4`.

### Logs

```shell
yarn-error.log:

Arguments:
/snap/node/7382/bin/node /snap/node/7382/bin/yarn.js help

PATH:
/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Yarn version:
1.22.19

Node version:
19.9.0

Platform:
linux x64

Trace:
Error: EACCES: permission denied, write
at writeSync (node:fs:938:3)
at SyncWriteStream._write (node:internal/fs/sync_write_stream:26:3)
at writeOrBuffer (node:internal/streams/writable:392:12)
at _write (node:internal/streams/writable:333:10)
at Writable.write (node:internal/streams/writable:337:10)
at module.exports.Command.outputHelp (/snap/node/7382/lib/cli.js:58339:18)
at module.exports.Command.help (/snap/node/7382/lib/cli.js:58350:8)
at Object.run (/snap/node/7382/lib/cli.js:83978:13)
at run (/snap/node/7382/lib/cli.js:88392:22)
at /snap/node/7382/lib/cli.js:88722:16

npm manifest:
No manifest

yarn manifest:
No manifest

Lockfile:
No lockfile
```

### Additional information

This issue can be fixed by using `stdio: 'ignore'` instead of `stdio: false` here: https://github.com/loopbackio/loopback-next/blob/9d99c620e7dedad9099e1c83a068216c198749e0/packages/cli/lib/utils.js#L768

### Reproduction

none

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans packages/cli/lib/utils.js, vers la ligne 768, où yarn est lancé pendant la détection, et comparez le paramètre stdio actuel avec la modification suggérée par l’issue. Vérifiez que la détection de yarn ne produit plus de yarn-error.log ni d’échec EACCES de stdout lorsqu’elle est exécutée en tant que processus enfant de lb4 ; aucun cas de reproduction ni fichier de test n’est fourni.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
nodejs, typescript
Domaine
cli
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.