Lambda NodeJS error: libcouchbase.so.2: cannot open shared object file: No such file or directory
Lambda NodeJS error: libcouchbase.so.2: cannot open shared object file: No such file or directory
我的 lambda 尝试初始化时出现错误 libcouchbase.so.2: cannot open shared object file: No such file or directory
运行 在 Lambda 上使用 Couchbase 和带有外部 C 绑定的 Node SDK
这些是我打包所有东西的步骤:
- 在 docker 容器中安装 libcouchbase rpm 包
- 将
libcouchbase.so
、libcouchbase.so.2
和 libcouchbase.so.2.0.65
文件复制到部署包中
- 安装指向
.so
文件的 couchbase npm 包。
- 使用无服务器框架打包部署到lambda
这是我 运行 执行的命令的片段:
WORKDIR /lambda
RUN wget http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-6-x86_64.rpm
RUN rpm -iv couchbase-release-1.0-6-x86_64.rpm
RUN yum install -y libcouchbase-devel libcouchbase2-bin
RUN mkdir -p libs\
&& cp /usr/lib64/libcouchbase.so libs \
&& cp /usr/lib64/libcouchbase.so.2 libs \
&& cp /usr/lib64/libcouchbase.so.2.0.65 libs
RUN npm install couchbase --compile --couchbase-root=libs
我得到的错误是:
{
"errorMessage": "libcouchbase.so.2: cannot open shared object file: No such file or directory",
"errorType": "Error",
"stackTrace": [
"Module.load (module.js:565:32)",
"tryModuleLoad (module.js:505:12)",
"Function.Module._load (module.js:497:3)",
"Module.require (module.js:596:17)",
"require (internal/module.js:11:18)",
"bindings (/var/task/node_modules/bindings/bindings.js:112:48)",
"Object.<anonymous> (/var/task/node_modules/couchbase/lib/binding.js:213:36)",
"Module._compile (module.js:652:30)",
"Object.Module._extensions..js (module.js:663:10)"
]
}
发现问题。 Lambda 已将 LD_LIBRARY_PATH
设置为 /var/task/lib
,我将库放在 /var/task/libs
中
我的 lambda 尝试初始化时出现错误 libcouchbase.so.2: cannot open shared object file: No such file or directory
运行 在 Lambda 上使用 Couchbase 和带有外部 C 绑定的 Node SDK
这些是我打包所有东西的步骤:
- 在 docker 容器中安装 libcouchbase rpm 包
- 将
libcouchbase.so
、libcouchbase.so.2
和libcouchbase.so.2.0.65
文件复制到部署包中 - 安装指向
.so
文件的 couchbase npm 包。 - 使用无服务器框架打包部署到lambda
这是我 运行 执行的命令的片段:
WORKDIR /lambda
RUN wget http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-6-x86_64.rpm
RUN rpm -iv couchbase-release-1.0-6-x86_64.rpm
RUN yum install -y libcouchbase-devel libcouchbase2-bin
RUN mkdir -p libs\
&& cp /usr/lib64/libcouchbase.so libs \
&& cp /usr/lib64/libcouchbase.so.2 libs \
&& cp /usr/lib64/libcouchbase.so.2.0.65 libs
RUN npm install couchbase --compile --couchbase-root=libs
我得到的错误是:
{
"errorMessage": "libcouchbase.so.2: cannot open shared object file: No such file or directory",
"errorType": "Error",
"stackTrace": [
"Module.load (module.js:565:32)",
"tryModuleLoad (module.js:505:12)",
"Function.Module._load (module.js:497:3)",
"Module.require (module.js:596:17)",
"require (internal/module.js:11:18)",
"bindings (/var/task/node_modules/bindings/bindings.js:112:48)",
"Object.<anonymous> (/var/task/node_modules/couchbase/lib/binding.js:213:36)",
"Module._compile (module.js:652:30)",
"Object.Module._extensions..js (module.js:663:10)"
]
}
发现问题。 Lambda 已将 LD_LIBRARY_PATH
设置为 /var/task/lib
,我将库放在 /var/task/libs