You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下Node.js child_process exec执行solana --help报错求助

解决VSCode中Node.js执行solana命令报错的问题

问题原因

VSCode启动时的环境变量与终端全局环境变量不一致,导致Node.js的exec方法无法读取到配置了solana的全局PATH,因此找不到solana命令。

解决方案

  • 方法一:使用solana的绝对路径执行
    先在终端执行which solana获取solana的绝对路径(比如/usr/local/bin/solana),然后修改代码:

    const util = require('util');
    const exec = util.promisify(require('child_process').exec);
    
    (async () => {
        const { stdout, stderr } = await exec('/usr/local/bin/solana --help');
        console.log('stdout:', stdout);
        console.log('stderr:', stderr);
    })();
    
  • 方法二:手动指定环境变量PATH
    在终端执行echo $PATH复制你的全局PATH值,然后在exec的选项中传入该PATH:

    const util = require('util');
    const exec = util.promisify(require('child_process').exec);
    
    (async () => {
        const { stdout, stderr } = await exec('solana --help', {
            env: {
                ...process.env,
                PATH: '你的终端PATH值' // 替换成echo $PATH输出的内容
            }
        });
        console.log('stdout:', stdout);
        console.log('stderr:', stderr);
    })();
    
  • 方法三:从终端启动VSCode
    关闭当前VSCode窗口,在终端进入你的项目目录后执行code .,这样VSCode会继承终端的全局环境变量,再运行Node代码即可正常找到solana命令。

内容的提问来源于stack exchange,提问作者Helix Development

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:35:15