在 "bundle install" 步骤的开发构建中遇到错误

Gem::Ext::BuildError: 错误:构建 gem 扩展失败。

当前目录:
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/openssl-2.2.1/ext/openssl
/data/data/com.termux/files/usr/bin/ruby -I
/data/data/com.termux/files/usr/lib/ruby/3.1.0
-r ./siteconf20220510-26220-kiro8b.rb extconf.rb
检查 -lnsl 中的 t_open()... 否
检查 -lsocket 中的 socket()... 否
检查 openssl/ssl.h... 是
检查 openssl/opensslv.h 中的 LIBRESSL_VERSION_NUMBER... 否
检查 OpenSSL 版本 >= 1.0.1 且 < 3.0.0... 否
*** extconf.rb 失败 ***
由于某种原因无法创建 Makefile,
可能是缺少必要的
库和/或头文件。请检查 mkmf.log
文件以获取更多详细信息。您可能
需要配置选项。

提供的配置选项:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
--ruby=/data/data/com.termux/files/usr/bin/$(RUBY_BASE_NAME)
        --with-openssl-dir
        --without-openssl-dir
        --with-openssl-include
--without-openssl-include=${openssl-dir}/include
        --with-openssl-lib
        --without-openssl-lib=${openssl-dir}/lib
        --with-kerberos-dir
        --without-kerberos-dir
        --with-kerberos-include
--without-kerberos-include=${kerberos-dir}/include
        --with-kerberos-lib
        --without-kerberos-lib=${kerberos-dir}/lib
        --with-debug
        --without-debug
        --enable-debug
        --disable-debug
        --with-nsl-dir
        --without-nsl-dir
        --with-nsl-include
        --without-nsl-include=${nsl-dir}/include
        --with-nsl-lib
        --without-nsl-lib=${nsl-dir}/lib
        --with-nsllib
        --without-nsllib
        --with-socket-dir
        --without-socket-dir
        --with-socket-include
        --without-socket-include=${socket-dir}/include
        --with-socket-lib
        --without-socket-lib=${socket-dir}/lib
        --with-socketlib
        --without-socketlib
        --with-openssl-config
        --without-openssl-config
        --with-pkg-config
        --without-pkg-config
extconf.rb:113:in `<main>':需要 OpenSSL >= 1.0.1 且 < 3.0.0 或 LibreSSL >= 2.5.0
(RuntimeError)

要查看此扩展为何无法编译,
请检查 mkmf.log 文件,该文件位于
此处:

/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/extensions/aarch64-linux-android/3.1.0/openssl-2.2.1/mkmf.log

extconf 失败,退出代码 1

Gem 文件将保留在
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/openssl-2.2.1
供检查。
结果已记录到
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/extensions/aarch64-linux-android/3.1.0/openssl-2.2.1/gem_make.out


/data/data/com.termux/files/usr/lib/ruby/3.1.0/rubygems/ext/builder.rb:95:in
`run'
/data/data/com.termux/files/usr/lib/ruby/3.1.0/rubygems/ext/ext_conf_builder.rb:47:in
`block in build'
/data/data/com.termux/files/usr/lib/ruby/3.1.0/tempfile.rb:317:in
`open'
/data/data/com.termux/files/usr/lib/ruby/3.1.0/rubygems/ext/ext_conf_builder.rb:26:in
`build'
/data/data/com.termux/files/usr/lib/ruby/3.1.0/rubygems/ext/builder.rb:161:in
`build_extension'
/data/data/com.termux/files/usr/lib/ruby/3.1.0/rubygems/ext/builder.rb:195:in
`block in build_extensions'
/data/data/com.termux/files/usr/lib/ruby/3.1.0/rubygems/ext/builder.rb:192:in
`each'
/data/data/com.termux/files/usr/lib/ruby/3.1.0/rubygems/ext/builder.rb:192:in
`build_extensions'
/data/data/com.termux/files/usr/lib/ruby/3.1.0/rubygems/installer.rb:853:in
`build_extensions'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/rubygems_gem_installer.rb:71:in
`build_extensions'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/rubygems_gem_installer.rb:28:in
`install'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/source/rubygems.rb:204:in
`install'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/installer/gem_installer.rb:54:in
`install'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/installer/parallel_installer.rb:186:in
`do_install'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/installer/parallel_installer.rb:177:in
`block in worker_pool'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/worker.rb:62:in
`apply_func'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/worker.rb:57:in
`block in process_queue'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/worker.rb:54:in
`loop'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/worker.rb:54:in
`process_queue'
/data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/bundler-2.3.13/lib/bundler/worker.rb:91:in
`block (2 levels) in create_threads'

安装 openssl (2.2.1) 时发生错误,Bundler 无法继续。

在 Gemfile 中:
  cose 被解析为 1.2.0,它依赖于
openssl-signature_algorithm 被解析为
1.1.1,它依赖于
      openssl

帮帮我
我快完成了

看起来没有安装 OpenSSL 库。我会搜索一下,或者查看安装脚本,找到命令并手动运行它,看看是否有效。

这是 Ubuntu Linux 吗?

@SaraDev 前几天发了这个,也许有帮助?

2 个赞

谢谢!

肯定会试试的。

1 个赞