我需要构建一个基于 RHEL 8 的容器,然后安装 LoopBack 和 IBM ApiConnect。
- 使用 RedHat Enterprise Linux 8 运行容器
docker run -it --name api-framework-rhel8 -v ~/api-framework-rhel8:/api-framework-rhel8 registry.access.redhat.com/ubi8/ubi:8.1 bash
- 将 Node.js (v12) 安装到容器中
curl -sL https://rpm.nodesource.com/setup_12.x | bash -
yum install -y nodejs
- 安装开发工具来构建原生插件
yum install gcc-c++ make
yum install python38
yum install python27
- 用于
alternatives
映射python
到python2
(或) - 在安装python3
过程中都尝试过,但都失败了。api-connect
alternatives --set python /usr/bin/python2
- 安装环回
npm install -g loopback-cli
安装 ApiConnect
npm install -g --unsafe-perm=true --allow-root apiconnect
但是,这会失败并显示错误消息(来自控制台,2 套):
gyp: [Errno 2] No such file or directory while executing command '['python', './generate_build_id.py']' in binding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.19.76-linuxkit
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/apiconnect/node_modules/appmetrics
gyp ERR! node -v v12.18.4
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
请注意,python2
andpython3
安装在容器下/usr/bin
并且可以从容器中访问,但是,python
不能调用。
来自控制台的第二组错误:
Error: appmetrics@3.1.3 install: `node extract_all_binaries.js || node-gyp rebuild`
error code ELIFECYCLE
error errno 1
error appmetrics@3.1.3 install: `node extract_all_binaries.js || node-gyp rebuild`
error Exit status 1
error Failed at the appmetrics@3.1.3 install script.
error This is probably not a problem with npm. There is likely additional logging output above.