繁体   English   中英

无法打开共享 object 文件:启动 Rails 时没有这样的文件或目录 - /usr/local/bundle/gems/mysql2-0.5.3/lib/mysql2/mysql2.so (LoadError)

[英]cannot open shared object file: No such file or directory - /usr/local/bundle/gems/mysql2-0.5.3/lib/mysql2/mysql2.so (LoadError) when launching Rails

我正在尝试使用 mysql2 gem 构建和启动 Rails 6 容器。 一切正常,但是当我 go 启动 Rails 服务器时,出现错误

/usr/local/bundle/gems/activesupport-6.0.3.6/lib/active_support/dependencies.rb:324:in `require': libmariadb.so.3: cannot open shared object file: No such file or directory - /usr/local/bundle/gems/mysql2-0.5.3/lib/mysql2/mysql2.so (LoadError)

我的 Dockerfile 的相关部分是我安装本机扩展的地方。 我知道 MariaDB 也是一个选项,但我也尝试了这些并得到了同样的错误。

apt-get update -qq && apt-get install -y git openssh-client build-essential pkg-config default-mysql-client default-libmysqlclient-dev libsqlite3-dev ;\

我正在使用 mysql2 (0.5.3) 和 Rails 6.0.3.6

有人有什么建议吗? 我可能已经花了一个星期的时间,您的帮助将不胜感激。 谢谢!

我弄清楚了这个问题。

在我的 Dockerfile 中,我在 apt-get 安装还有另一个 FROM 子句。 这样做会重置文件的 scope,因此这些依赖项在 Rails 服务器运行时不可用。 我删除了它并且它起作用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM