VSCode运行AWS Lambda报错NodejsNpmBuilder找不到node/npm运行时,SAM正常
解决VSCode调试AWS Lambda时的npm路径解析错误
问题原因
VSCode的AWS Toolkit调试Lambda时,无法正确识别nodejs18.x环境下npm的可执行文件路径;而SAM CLI直接调用系统环境变量中的路径,因此能正常运行。Mac和AWS Linux环境均存在该问题。
解决方案
1. 手动在VSCode设置中指定npm路径
打开VSCode设置(快捷键Cmd + ,),搜索aws toolkit lambda,找到AWS Toolkit > Lambda: Runtime Binaries选项,点击编辑 in settings.json,添加nodejs18.x对应的npm路径:
"aws.toolkit.lambda.runtimeBinaries": { "nodejs18.x": { "npm": "/usr/local/bin/npm" // 替换为你系统中npm的实际路径 } }
可通过终端执行which npm命令获取npm的实际路径。
2. 确认nodejs18.x环境配置正确
- 若用nvm管理Node版本,执行
nvm use 18切换到18.x版本 - 终端执行
node -v、npm -v,验证版本对应nodejs18.x系列
3. 重启VSCode与AWS Toolkit扩展
修改设置后完全关闭VSCode再重新打开,确保配置生效;若问题仍存在,可尝试禁用后重新启用AWS Toolkit扩展。
4. AWS Linux环境额外处理
在AWS Linux上,npm可能安装在/usr/bin/npm,或通过nvm安装在~/.nvm/versions/node/v18.x.x/bin/npm,需根据实际路径配置;同时确保运行VSCode的用户拥有该路径的执行权限。
内容的提问来源于stack exchange,提问作者Elia Weiss
相关产品推荐
相关产品推荐

