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

使用docker run初始化Node项目遇MODULE_NOT_FOUND错误求助

错误原因

你把 "npm init" 作为单个参数传给了node镜像的默认入口程序 node,而node会将这个参数解析为要加载的模块路径,自然找不到名为 /npm init 的模块——因为node试图加载一个叫npm init的文件,这显然不存在。

解决方案

有两种简单的方式可以实现一步完成交互式初始化:

  • 直接指定执行npm命令
    修改命令,将镜像后的参数拆分为npm和init,让docker明确执行npm程序而非默认的node:

    docker run --rm -it -v "$PWD":/usr/app -w "/usr/app" --name foo_bar node:lts npm init
    

    加上-it参数会保持交互式会话,你可以正常完成项目名称、版本等参数的设置,生成的package.json会保存到挂载的当前目录。

  • 通过shell执行命令
    如果需要执行更复杂的命令组合,可通过shell包裹执行:

    docker run --rm -it -v "$PWD":/usr/app -w "/usr/app" --name foo_bar node:lts /bin/sh -c "npm init"
    

    这种方式让容器先启动shell,再执行npm init,同样能触发交互式引导流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:15:32