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

从其他目录用绝对路径执行Node.js脚本报MODULE_NOT_FOUND错误如何解决?

问题原因

Node 对入口文件的路径解析规则非常明确:

  • 如果你执行 node <路径> 时传入的是绝对路径(以 / 开头),Node 会直接按该路径查找文件,不会和当前工作目录拼接
  • 只有你传入的是相对路径(直接写文件名、以 ./ 或 ../ 开头)时,Node 才会基于当前工作目录(也就是你说的 /Users/bob/wd/)拼接路径查找文件

你现在的报错明确说明 Node 实际拿到的入口参数只有 test.js,没有拿到完整的绝对路径 /Users/bob/appium/test.js。

排查步骤

  • 首先检查你 bash 脚本里构造 Node 执行命令的逻辑:在执行 Node 命令前加一行打印逻辑,比如你把脚本路径存在变量 TEST_SCRIPT 里,就加 echo "执行的命令是:node $TEST_SCRIPT",确认输出的是不是完整的 node /Users/bob/appium/test.js,绝大多数情况都是这里的变量取值错误,要么是空值,要么只取到了文件名部分。
  • 手动验证路径有效性:直接在 /Users/bob/wd/ 目录下打开终端,执行 node /Users/bob/appium/test.js,如果正常输出 Here I am,就完全排除 Node 本身的问题,100% 是你的 bash 脚本构造命令出错。
  • 特殊场景排查:如果路径里有空格、特殊字符,记得用引号包裹路径,避免 bash 解析时把路径拆分成多个参数,导致 Node 只拿到末尾的文件名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:15:02