【发布时间】:2018-10-20 04:24:11
【问题描述】:
我刚刚部署了依赖于 heroku 服务器中本机库的 java 应用程序。我的本地操作系统是 Windows,但 heroku 使用的是 Ubuntu16.04。所以我不得不用 .so 文件替换我的 dll 并部署。但我得到一个运行时依赖错误 - java.lang.UnsatisfiedLinkError: /app/libstorj-java.so: libgcrypt.so.11: cannot open shared object file。 我相信我需要在我的 heroku 应用程序中安装 libgcrypt.so.11。但我不确定如何做到这一点,因为我对 heorku 和 linux 还很陌生。我尝试使用“heroku run bash”对我的应用程序进行 ssh,并运行命令“apt-get install libgcrypt11”。我无法找到包 libgcrypt11。以前有人试过这个。
【问题讨论】:
-
“旧的
libgcrypt11”例子packages.debian.org/… ...(新的Debian版本是libgcrypt20)。 -
但是如何将它从我的 windows 机器添加到 heroku 应用程序?
-
选项:下载 Ubuntu 14 包(我错过了你的“Ubuntu 文本”)security.ubuntu.com/ubuntu/pool/main/libg/libgcrypt11/… ... 安装包。或者在 /etc/apt/sources.list ... 中添加一个“trusty”行并安装 libgcrypt11 ... ...无论您可以远程做什么。
-
确认,选项 1 : Ubuntu 16.04,
libgcrypt11, from "trusty-updates" →sudo gdebi Downloads/libgcrypt11_1.5.3-2ubuntu4.5_amd64.deb→ 安装正常,不需要依赖项/没有安装依赖项
标签: java heroku ubuntu-16.04 heroku-toolbelt .so