fix: handle hanging yarn binary in _pick_yarn_cmd
This commit is contained in:
1 parent
590bda7491
commit
9a939844cb
1 file changed
+13
-4
+13
-4
@@ -1991,10 +1991,19 @@ def _build_frontend(src_frontend: Path, dest_frontend: Path):
|
|||||||
# Check yarn in PATH
|
# Check yarn in PATH
|
||||||
yarn_bin = shutil.which("yarn")
|
yarn_bin = shutil.which("yarn")
|
||||||
if yarn_bin:
|
if yarn_bin:
|
||||||
result = subprocess.run([yarn_bin, "--version"], capture_output=True, text=True, timeout=5)
|
try:
|
||||||
if DEBUG:
|
result = subprocess.run([yarn_bin, "--version"], capture_output=True, text=True, timeout=3)
|
||||||
print(f" debug pick: yarn_bin={yarn_bin}, version={result.stdout.strip()}, major={_get_yarn_major_version(['yarn'])}")
|
if DEBUG:
|
||||||
major = _get_yarn_major_version(["yarn"])
|
print(f" debug pick: yarn_bin={yarn_bin}, version={result.stdout.strip()}")
|
||||||
|
major = _get_yarn_major_version(["yarn"])
|
||||||
|
except (subprocess.TimeoutExpired, Exception):
|
||||||
|
if DEBUG:
|
||||||
|
print(f" debug pick: yarn_bin={yarn_bin} HANGS, removing...")
|
||||||
|
try:
|
||||||
|
subprocess.run(["rm", "-f", yarn_bin], check=False)
|
||||||
|
major = None
|
||||||
|
except Exception:
|
||||||
|
major = None
|
||||||
if major and major >= 4:
|
if major and major >= 4:
|
||||||
return ["yarn"]
|
return ["yarn"]
|
||||||
elif major:
|
elif major:
|
||||||
|
|||||||
Reference in new issue
Block a user