{"record":{"id":"a0b537fcc9ca6b71","repo":"zed-industries/zed","slug":"failed-to-parse-npm-info-response-e-stdout","errorCode":null,"errorMessage":"failed to parse npm info response: {e}\nstdout: {}","messagePattern":"failed to parse npm info response: (.+?)\nstdout: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/node_runtime/src/node_runtime.rs","lineNumber":286,"sourceCode":"            .run_npm_subcommand(\n                None,\n                http.proxy(),\n                \"info\",\n                &[\n                    name,\n                    \"--json\",\n                    \"--fetch-retry-mintimeout\",\n                    \"2000\",\n                    \"--fetch-retry-maxtimeout\",\n                    \"5000\",\n                    \"--fetch-timeout\",\n                    \"5000\",\n                ],\n            )\n            .await?;\n\n        let info: NpmInfo = deserialize_npm_info_from_response(&output.stdout).map_err(|e| {\n            anyhow::anyhow!(\n                \"failed to parse npm info response: {e}\\nstdout: {}\",\n                String::from_utf8_lossy(&output.stdout)\n            )\n        })?;\n        let before = npm_config_before(instance.as_ref(), http.proxy())\n            .await\n            .context(\"getting npm before config\")\n            .log_err()\n            .flatten();\n        let latest_dist_tag = info.dist_tags.latest.clone();\n        let selected_version =\n            select_npm_package_version(name, info, before.as_deref(), version_requirement)?;\n        log::debug!(\n            \"selected latest npm package version package={name:?} version_requirement={version_requirement:?} before={before:?} dist_tag_latest={latest_dist_tag:?} selected={selected_version}\"\n        );\n        Ok(selected_version)\n    }\n","sourceCodeStart":268,"sourceCodeEnd":304,"githubUrl":"https://github.com/zed-industries/zed/blob/9d272b036335401f339d024ea94968fd51016c40/crates/node_runtime/src/node_runtime.rs#L268-L304","documentation":"Parse guard in npm_package_latest_version_with_requirement: `npm info --json` ran but its stdout could not be deserialized into NpmInfo, so the latest version cannot be determined. Typically caused by registry errors, proxy interference, or unexpected output.","triggerScenarios":"Thrown at crates/node_runtime/src/node_runtime.rs:286 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check network/proxy connectivity to the npm registry","Retry the package lookup; transient registry responses can be malformed","Run `npm info <package> --json` manually to inspect the output"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9d272b036335401f339d024ea94968fd51016c40","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}