【发布时间】:2021-08-03 15:54:56
【问题描述】:
您好,这是我的第一个问题。 我正在尝试在我的服务器上构建 redmine 系统,但遇到了一些问题。
我的系统——ubuntu20.04 + nginx1.18 + mariadb10.3.30 + ruby2.7.4 + redmine4.2.2 / 使用rbenv安装ruby
当我尝试连接 redmine 服务器时,出现此错误
App 716658 output: Error: The application encountered the following error: libruby.so.2.7: cannot open shared object file: No such file or directory - /opt/redmine/vendor/cache/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/mysql2.so (LoadError)
所以我做到了
cd /usr/lib
ln -s /root/.rbenv/versions/2.7.4/lib/libruby.so.2.7 libruby.so.2.7
然后出现不兼容的库版本错误
App 722799 output: Error: The application encountered the following error: incompatible library version - /opt/redmine/vendor/cache/ruby/2.7.0/gems/mysql2-0.5.3/lib/mysql2/mysql2.so (LoadError)
我尝试了gem pristine --all,但没有成功。
我该如何解决这个问题?发生了这么多错误,所以我想我的设置有问题。
宝石环境
- RUBYGEMS VERSION: 3.2.25
- RUBY VERSION: 2.7.4 (2021-07-07 patchlevel 191) [x86_64-linux]
- INSTALLATION DIRECTORY: /root/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0
- USER INSTALLATION DIRECTORY: /root/.gem/ruby/2.7.0
- RUBY EXECUTABLE: /root/.rbenv/versions/2.7.4/bin/ruby
- GIT EXECUTABLE: /usr/bin/git
- EXECUTABLE DIRECTORY: /root/.rbenv/versions/2.7.4/bin
- SPEC CACHE DIRECTORY: /root/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /root/.rbenv/versions/2.7.4/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /root/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0
- /root/.gem/ruby/2.7.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /root/.rbenv/versions/2.7.4/bin
- /root/.rbenv/libexec
- /root/.rbenv/plugins/ruby-build/bin
- /root/.rbenv/shims
- /root/.rbenv/bin
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
- /usr/games
- /usr/local/games
- /snap/bin
捆绑环境
Bundler 2.2.25
Platforms ruby, x86_64-linux
Ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23704a01d34bd79d09dc37897e00922a) [x86_64-linux]
Full Path /root/.rbenv/versions/2.7.4/bin/ruby
Config Dir /root/.rbenv/versions/2.7.4/etc
RubyGems 3.2.25
Gem Home /root/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0
Gem Path /root/.gem/ruby/2.7.0:/root/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0
User Home /root
User Path /root/.gem/ruby/2.7.0
Bin Dir /root/.rbenv/versions/2.7.4/bin
Tools
Git 2.25.1
RVM not installed
rbenv rbenv 1.1.2-61-g585ed84
chruby not installed
Bundler 构建元数据
Built At 2021-07-30
Git SHA 7f0f257c7a
Released Version true
【问题讨论】:
-
你说的是“连接到服务器”时发生的错误。我们是否应该假设您已经安装了服务器并且它启动时没有错误?只有当你请求一个页面时它才会出错?另外,当然,您是否安装了 mysql2 gem - 那是没有找到的。
-
是的,有服务器,这个 redmine server_name 是 redmine.kinicaremom.net ,我想看 redmine 的第一页,但它不工作。我请求一个页面,但出现错误,所以我看到 /var/log/nginx/error.log 上的日志。我检查了
gem list,发现mysql2(0.5.3)。 -
你确定你指定的mysql2版本和你的ruby版本兼容吗?
-
我检查了rubygems.org/gems/mysql2/versions/0.5.3 并且那里 mysql2 0.5.3 REQUIRED RUBY VERSION: >= 2.0.0 所以我认为我的 ruby 版本 2.7.4 没问题
标签: ruby-on-rails ruby rbenv mysql2