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

Node.js ENOENT错误求助:找不到credentials.json文件

修复VoximplantApiClient路径ENOENT错误

问题原因

你遇到的ENOENT错误本质是相对路径解析基于当前工作目录(CWD),而非脚本文件所在目录。即使你觉得路径正确,若运行脚本的目录和脚本所在目录不一致,相对路径就会指向错误位置。比如你在项目根目录/Users/sam/Desktop/Call-Nodejs运行node src/index.js,代码里的../config会指向/Users/sam/Desktop/config,而非项目根目录下的config文件夹。

解决方案

1. 使用绝对路径(推荐)

在ES6模块中,利用import.meta.url获取当前脚本的绝对路径,结合path模块拼接目标文件路径,确保路径始终正确:

import VoximplantApiClient from '@voximplant/apiclient-nodejs';
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';

// 转换ES模块的文件URL为绝对路径
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

// 拼接credentials.json的绝对路径
const client = new VoximplantApiClient.default(join(__dirname, '../config/credentials.json'));

2. 调整相对路径或运行目录

  • 若你的脚本位于项目根目录的子文件夹(如src),直接使用相对于项目根目录的路径:
    const client = new VoximplantApiClient.default('./config/credentials.json');
    
    前提是你始终在项目根目录下运行脚本(node src/index.js)。
  • 或者切换到脚本所在目录再运行:
    cd src && node index.js
    

3. 验证文件实际位置

可以在代码中临时打印当前工作目录和目标路径,确认是否匹配:

import { resolve } from 'path';
console.log('当前工作目录:', process.cwd());
console.log('目标路径:', resolve('../config/credentials.json'));

打印结果能直观看到路径是否指向正确的文件位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 04:12:37