Usage/Installation on node-alpine
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- cpp, docker, node.js
- 领域
- build-system, devops
调研方向
使用所示的 node:18-alpine 镜像和 npm ci 命令重现失败。检查 binding.gyp、common.gypi,以及与报告的 S3 URL 和缺少 bash 相关的 node-pre-gyp fallback;当 node_or_tools 能够在 Alpine 镜像上成功安装时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
We're using the node_or_tools since some time on the default docker node18 image (bullseye).
Now, to reduce the attack surface of the container, we wanted to switch to using the alpine variant of the node18 docker images.
But when it comes to installing the node_or_tools, this crashes with unclear reason:
00:03:16.940 Step 16/17 : RUN npm ci --prod --legacy-peer-deps
00:03:17.017 ---> Running in f462b65004b4
00:03:19.819 [91mnpm[0m[91m WARN [0m[91mconfig production Use `--omit=dev` instead.
00:03:19.820 [0m[91mnpm WARN EBADENGINE Unsupported engine {
00:03:22.269 [0m[91mnpm [0m[91mWARN[0m[91m EBADENGINE[0m[91m package: '@apollo/federation@0.27.0',
00:03:22.270 npm[0m[91m WARN [0m[91mEBADENGINE[0m[91m required: { node: '>=12.13.0 <17.0' },
00:03:22.270 npm WARN [0m[91mEBADENGINE current: { node: 'v18.12.1', npm: '8.19.3' }
00:03:22.270 [0m[91mnpm WARN EBADENGINE[0m[91m }
00:03:22.270 [0m[91mnpm[0m[91m [0m[91mWARN[0m[91m [0m[91mdeprecated[0m[91m har-validator@5.1.5: this library is no longer supported
00:03:32.214 [0m[91mnpm[0m[91m [0m[91mWARN[0m[91m [0m[91mdeprecated[0m[91m graphql-extensions@0.15.0: The `graphql-extensions` API has been removed from Apollo Server 3. Use the plugin API instead: https://www.apollographql.com/docs/apollo-server/integrations/plugins/
00:03:32.721 [0m[91mnpm[0m[91m [0m[91mWARN[0m[91m [0m[91mdeprecated[0m[91m request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
00:03:33.723 [0m[91mnpm[0m[91m [0m[91mWARN[0m[91m [0m[91mdeprecated[0m[91m uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
00:03:33.794 [0m[91mnpm [0m[91mERR! code 1
00:04:09.899 [0m[91mnpm [0m[91mERR! path /home/node/node_modules/node_or_tools
00:04:09.900 [0m[91mnpm [0m[91mERR! command failed
00:04:09.905 [0m[91mnpm ERR![0m[91m command sh -c -- node-pre-gyp install --fallback-to-build
00:04:09.906 [0m[91mnpm[0m[91m ERR! make: Entering directory '/home/node/node_modules/node_or_tools/build'
00:04:09.906 [0m[91mnpm ERR![0m[91m ACTION binding_gyp_action_before_build_target_install_deps mason_packages
00:04:09.906 [0m[91mnpm[0m[91m ERR![0m[91m make: Leaving directory '/home/node/node_modules/node_or_tools/build'
00:04:09.907 [0m[91mnpm ERR! Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/node/node_modules/node_or_tools/lib/binding/node_or_tools.node --module_name=node_or_tools --module_path=/home/node/node_modules/node_or_tools/lib/binding --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)
00:04:09.907 [0m[91mnpm [0m[91mERR! node-pre-gyp info it worked if it ends with ok
00:04:09.909 npm[0m[91m ERR! node-pre-gyp info using node-pre-gyp@1.0.10
00:04:09.910 npm[0m[91m ERR! node-pre-gyp info using node@18.12.1 | linux | x64
00:04:09.910 [0m[91mnpm[0m[91m ERR![0m[91m node-pre-gyp info check checked for "/home/node/node_modules/node_or_tools/lib/binding/node_or_tools.node" (not found)
00:04:09.910 npm ERR! node-pre-gyp http GET https://mapbox-node-binary.s3.amazonaws.com/node_or_tools/v1.1.1/Release/node-v108-linux-x64.tar.gz
00:04:09.910 [0m[91mnpm ERR! node-pre-gyp ERR! install response status 403 Forbidden on https://mapbox-node-binary.s3.amazonaws.com/node_or_tools/v1.1.1/Release/node-v108-linux-x64.tar.gz
00:04:09.910 npm ERR![0m[91m node-pre-gyp WARN Pre-built binaries not installable for node_or_tools@1.1.1 and node@18.12.1 (node-v108 ABI, musl) (falling back to source compile with node-gyp)
00:04:09.910 npm[0m[91m ERR! node-pre-gyp WARN Hit error response status 403 Forbidden on https://mapbox-node-binary.s3.amazonaws.com/node_or_tools/v1.1.1/Release/node-v108-linux-x64.tar.gz
00:04:09.911 npm ERR! gyp info it worked if it ends with ok
00:04:09.911 npm ERR![0m[91m gyp info using node-gyp@9.1.0
00:04:09.911 npm ERR! gyp info using node@18.12.1 | linux | x64
00:04:09.911 npm [0m[91mERR! gyp info ok
00:04:09.911 [0m[91mnpm ERR! gyp info it worked if it ends with ok
00:04:09.911 npm[0m[91m ERR! gyp info using node-gyp@9.1.0
00:04:09.914 npm ERR! gyp info using node@18.12.1 | linux | x64
00:04:09.914 npm ERR! gyp info find Python using Python version 3.10.5 found at "/usr/bin/python3"
00:04:09.914 npm ERR! gyp http GET https://unofficial-builds.nodejs.org/download/release/v18.12.1/node-v18.12.1-headers.tar.gz
00:04:09.914 npm ERR! gyp http 200 https://unofficial-builds.nodejs.org/download/release/v18.12.1/node-v18.12.1-headers.tar.gz
00:04:09.914 npm ERR! gyp http GET https://unofficial-builds.nodejs.org/download/release/v18.12.1/SHASUMS256.txt
00:04:09.914 npm ERR! gyp http 200 https://unofficial-builds.nodejs.org/download/release/v18.12.1/SHASUMS256.txt
00:04:09.914 npm ERR! gyp info spawn /usr/bin/python3
00:04:09.914 npm ERR! gyp info spawn args [
00:04:09.914 npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
00:04:09.914 npm ERR! gyp info spawn args 'binding.gyp',
00:04:09.914 npm ERR! gyp info spawn args '-f',
00:04:09.914 npm ERR! gyp info spawn args 'make',
00:04:09.914 npm ERR! gyp info spawn args '-I',
00:04:09.914 npm ERR! gyp info spawn args '/home/node/node_modules/node_or_tools/build/config.gypi',
00:04:09.914 npm ERR! gyp info spawn args '-I',
00:04:09.914 npm ERR! gyp info spawn args '/home/node/node_modules/node_or_tools/common.gypi',
00:04:09.914 npm ERR! gyp info spawn args '-I',
00:04:09.914 npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
00:04:09.914 npm ERR! gyp info spawn args '-I',
00:04:09.914 npm ERR! gyp info spawn args '/home/node/.cache/node-gyp/18.12.1/include/node/common.gypi',
00:04:09.914 npm ERR! gyp info spawn args '-Dlibrary=shared_library',
00:04:09.914 npm ERR! gyp info spawn args '-Dvisibility=default',
00:04:09.914 npm ERR! gyp info spawn args '-Dnode_root_dir=/home/node/.cache/node-gyp/18.12.1',
00:04:09.914 npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
00:04:09.914 npm ERR! gyp info spawn args '-Dnode_lib_file=/home/node/.cache/node-gyp/18.12.1/<(target_arch)/node.lib',
00:04:09.914 npm ERR! gyp info spawn args '-Dmodule_root_dir=/home/node/node_modules/node_or_tools',
00:04:09.914 npm[0m[91m ERR! gyp info spawn args '-Dnode_engine=v8',
00:04:09.916 npm ERR! gyp info spawn args '--depth=.',
00:04:09.916 npm ERR! gyp info spawn args '--no-parallel',
00:04:09.916 npm ERR! gyp info spawn args '--generator-output',
00:04:09.916 npm ERR! gyp info spawn args 'build',
00:04:09.916 npm ERR! gyp info spawn args '-Goutput_dir=.'
00:04:09.916 npm ERR! gyp info spawn args ]
00:04:09.916 npm ERR! gyp info ok
00:04:09.916 npm ERR! gyp info it worked if it ends with ok
00:04:09.916 npm ERR! gyp info using node-gyp@9.1.0
00:04:09.916 npm ERR! gyp info using node@18.12.1 | linux | x64
00:04:09.916 npm ERR! gyp info spawn make
00:04:09.916 npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
00:04:09.916 npm ERR! env: can't execute 'bash': No such file or directory
00:04:09.916 npm ERR! make: *** [action_before_build.target.mk:13: mason_packages] Error 127
00:04:09.916 npm ERR! gyp ERR! build error
00:04:09.916 npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
00:04:09.916 npm ERR! gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:201:23)
00:04:09.916 npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28)
00:04:09.916 npm ERR![0m[91m gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12)
00:04:09.917 npm [0m[91mERR![0m[91m gyp ERR! System Linux 4.15.0-194-generic
00:04:09.917 npm[0m[91m [0m[91mERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/home/node/node_modules/node_or_tools/lib/binding/node_or_tools.node" "--module_name=node_or_tools" "--module_path=/home/node/node_modules/node_or_tools/lib/binding" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v108"
00:04:09.917 [0m[91mnpm ERR! gyp ERR! cwd /home/node/node_modules/node_or_tools
00:04:09.919 npm ERR! gyp ERR! node -v v18.12.1
00:04:09.919 npm ERR! gyp ERR! node-gyp -v v9.1.0
00:04:09.919 npm ERR! gyp ERR! not ok
00:04:09.919 npm ERR! node-pre-gyp ERR! build error
00:04:09.919 npm ERR! node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/node/node_modules/node_or_tools/lib/binding/node_or_tools.node --module_name=node_or_tools --module_path=/home/node/node_modules/node_or_tools/lib/binding --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)
00:04:09.919 npm ERR! node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/home/node/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
00:04:09.919 npm ERR! node-pre-gyp ERR! stack at ChildProcess.emit (node:events:513:28)
00:04:09.919 npm ERR! node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1091:16)
00:04:09.919 npm ERR! node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:302:5)
00:04:09.919 npm ERR! node-pre-gyp ERR! System Linux 4.15.0-194-generic
00:04:09.919 npm ERR! node-pre-gyp ERR! command "/usr/local/bin/node" "/home/node/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
00:04:09.919 npm ERR! node-pre-gyp ERR! cwd /home/node/node_modules/node_or_tools
00:04:09.919 npm ERR![0m[91m node-pre-gyp ERR! node -v v18.12.1
00:04:09.923 npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.10
00:04:09.923 npm ERR! node-pre-gyp ERR! not ok
00:04:09.923 [0m[91m
00:04:09.929 [0m[91mnpm ERR![0m[91m A complete log of this run can be found in:
00:04:09.931 npm ERR![0m[91m /home/node/.npm/_logs/2022-11-09T11_17_33_641Z-debug-0.log
00:04:09.931 [0mThe command '/bin/sh -c npm ci --prod --legacy-peer-deps' returned a non-zero code: 1
Our node base image is built this way:
FROM node:18-alpine
ENV PYTHONUNBUFFERED=1
RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python
RUN python3 -m ensurepip
RUN pip3 install --no-cache --upgrade pip setuptools
RUN apk add --update --no-cache make g++ libc6-compat
RUN apk add --update --no-cache openssl ca-certificates
RUN npm install -g npm@latest
So all things the node_or_tools needs to be build should be present.
For me it looks like the problem is, that access to the https://mapbox-node-binary.s3.amazonaws.com.... address isn't working and that this is finally causing the build to crash?
Please help, I'm a bit clueless...
- 主要语言
- C++
- 星标
- 155
- 派生
- 47
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
mapbox/node-or-tools 的其他 Issue
-
难度 5/5 一周以上 新手友好度 10/100
mapbox/node-or-tools#84 ·
-
难度 4/5 3-5 天 新手友好度 25/100
mapbox/node-or-tools#82 ·
-
难度 3/5 1-2 天 新手友好度 35/100
mapbox/node-or-tools#81 ·
-
Windows build 未关闭
难度 5/5 一周以上 新手友好度 15/100
mapbox/node-or-tools#77 · 5 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 25/100
mapbox/node-or-tools#75 · 1 条评论 ·
查看 mapbox/node-or-tools 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
Component: GLib
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 65/100
brave/brave-browser#59300 ·
-
Mute ydb/tests/functional/dstool/test_canonical_requests.py.Test.test_group_take_snapshot in main 未关闭ai_reviewed
难度 2/5 1-3 小时 新手友好度 70/100
ydb-platform/ydb#53974 · 3 条评论 ·