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

树莓派4中Dockerfile运行Node.js+SQLite3遇npm 'idealTree'错误

Docker构建报错:npm ERR! Tracker "idealTree" already exists 解决方法

问题场景

以下是用于树莓派4上运行Node.js和SQLite3的Dockerfile代码:

FROM arm32v7/ubuntu:18.04 
RUN apt-get -y install curl gnupg
RUN curl -sL https://deb.nodesource.com/setup_16.x  | bash -
RUN apt-get -y install nodejs
#RUN apt-get install -y npm
RUN npm install sqlite3


WORKDIR /usr/src/app
COPY . .
RUN npm install
CMD ["node",  "/usr/src/app/server/index.js"]

构建镜像时出现如下错误:

npm ERR! Tracker "idealTree" already exists

npm ERR! 本次运行的完整日志可查看:
npm ERR!     /root/.npm/_logs/2023-04-27T15_11_38_675Z-debug-0.log

解决方法

  • 移除全局安装sqlite3的步骤:原Dockerfile中RUN npm install sqlite3是在全局环境执行,后续进入工作目录后又执行npm install,这会导致npm进程冲突。将该行删除,把sqlite3作为项目依赖声明在package.json中,由工作目录下的npm install统一安装。
  • 合并RUN命令并清理缓存:将多个apt相关的RUN命令合并,同时清理apt缓存,既缩小镜像体积,也减少潜在的进程冲突。修改后的Dockerfile示例:
FROM arm32v7/ubuntu:18.04 
RUN apt-get update && apt-get -y install curl gnupg && \
    curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
    apt-get -y install nodejs && \
    apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src/app
COPY . .
RUN npm install
CMD ["node", "/usr/src/app/server/index.js"]
  • 特殊情况处理:如果修改后仍报错,可在npm install时添加参数强制执行,或先清理npm缓存:RUN npm cache clean --force && npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:44:59