loopbackio / loopbackio/loopback-next

Detection of yarn does not work (anymore?)

オープン
#9,520 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug
主要言語
TypeScript
スター
5.1k
フォーク
1.1k
平均マージ
2日 21時間
マージ済み PR(30日)
27

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

packages/cli/lib/utils.js の 768 行目付近にある、検出中に yarn が起動される箇所から始め、現在の stdio 設定を issue で提案されている変更と比較します。lb4 の子プロセスとして実行したとき、yarn の検出によって yarn-error.log が生成されたり、stdout の EACCES 失敗が発生したりしなくなっていることを確認します。再現手順やテストファイルは提供されていません。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
nodejs, typescript
領域
cli
issue の種類
バグ
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。