我无法在全新安装的 Arch Linux 中运行我的 Web 应用程序项目。它使用 docker 和 docker-compose.yaml 来创建数据库、nginx 服务器等。该项目已在多台 PC 和云环境中运行(已有几年了),因此我想知道是否有一些新软件包破坏了构建容器的过程。
我的 dockerfile 使用 APK 安装了一些软件包,但每当我尝试使用 node.js 时都会失败。最初它有一个RUN npm install
命令,为了确保 node 是问题所在,我RUN node -v
在安装 node 后立即添加了一个命令。两个命令都失败并显示相同的消息:
=> ERROR [app 6/24] RUN node -v 0.2s
------
> [app 6/24] RUN node -v:
0.197 Error relocating /usr/bin/node: sqlite3session_attach: symbol not found
0.197 Error relocating /usr/bin/node: sqlite3changeset_apply: symbol not found
0.197 Error relocating /usr/bin/node: sqlite3session_create: symbol not found
0.197 Error relocating /usr/bin/node: sqlite3session_changeset: symbol not found
0.198 Error relocating /usr/bin/node: sqlite3session_patchset: symbol not found
0.198 Error relocating /usr/bin/node: sqlite3session_delete: symbol not found
------
failed to solve: process "/bin/sh -c node -v" did not complete successfully: exit code: 127
Node 和 npm 安装在文件开头:
FROM php:8.2-fpm-alpine
COPY composer.lock composer.json /var/www/html/
WORKDIR /var/www/html/
RUN apk update
RUN apk add nodejs npm
RUN node -v
(...)
我该如何调试这种情况?我尝试docker compose up --build
在 Google 上多次搜索此错误消息,但无济于事。