标签: rbenv

LoadError:dlopen(digest/sha1.bundle):找不到符号:_rb_Digest_SHA1_Finish

Ruby最近停止了我兄弟的机器.

  • gem 命令
  • rails server
  • rails console

全部失败,出现以下错误:

$ irb
irb(main):001:0> require 'digest/sha1'

LoadError: dlopen(~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle, 9): Symbol not found: _rb_Digest_SHA1_Finish
  Referenced from: ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle
  Expected in: flat namespace

 in ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle - ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle
    from ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from (irb):1
    from ~/.rbenv/versions/2.0.0-p0/bin/irb:12:in `<main>'
Run Code Online (Sandbox Code Playgroud)

他尝试了不同版本的Ruby.重新安装一切rvm.运行rvm implode并重新安装rvm.切换到rbenv.通过安装几个红宝石ruby-build.brew install ruby.

所有人都有同样的问题.

如果他卸载了所有红宝石,操作系统提供的版本/usr/bin/ruby就可以了.但它是1.8.7.

经过数小时的故障排除后,我们得出了以下解决方案.我希望它可以帮助你避免一些痛苦.

ruby macos ruby-on-rails rvm rbenv

8
推荐指数
1
解决办法
5673
查看次数

rbenv安装ruby BUILD FAILED

我对rbenv很新,更不用说ruby并且在诊断以下安装失败时遇到一些困难:

rbenv install 2.0.0-p0
Downloading yaml-0.1.6.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/5fe00cda18ca5daeb43762b80c38e06e
Installing yaml-0.1.6...
Installed yaml-0.1.6 to /Users/Haani/.rbenv/versions/2.0.0-p0

Downloading ruby-2.0.0-p0.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/50d307c4dc9297ae59952527be4e755d
Installing ruby-2.0.0-p0...

BUILD FAILED

Inspect or clean up the working tree at /var/folders/50/wzjqg8d11sn7xnkrsmgr1gn80000gn/T/ruby-build.20140420110650.75863
Results logged to /var/folders/50/wzjqg8d11sn7xnkrsmgr1gn80000gn/T/ruby-build.20140420110650.75863.log

Last 10 log lines:
compiling ossl_x509cert.c
compiling ossl_x509crl.c
compiling ossl_x509ext.c
compiling ossl_x509name.c
compiling ossl_x509req.c
compiling ossl_x509revoked.c
compiling ossl_x509store.c
installing default openssl libraries
linking shared-object openssl.bundle
make: *** [build-ext] Error 2
Run Code Online (Sandbox Code Playgroud)

在此处查看完整日志

ruby rbenv

8
推荐指数
1
解决办法
5004
查看次数

在 Docker 中使用 rbenv

我正在尝试使用 Dockerfile 设置 rbenv,但这在rbenv install. 我确实在那里有 ruby​​-build,它似乎不起作用。

Dockerfile 的相关部分(主要来自https://gist.github.com/deepak/5925003):

# 安装 rbenv
运行 git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv
运行 echo '#rbenv setup' > /etc/profile.d/rbenv.sh
运行 echo 'export RBENV_ROOT=/usr/local/rbenv' >> /etc/profile.d/rbenv.sh
运行 echo 'export PATH="$RBENV_ROOT/bin:$PATH"' >> /etc/profile.d/rbenv.sh
运行 echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh
运行 chmod +x /etc/profile.d/rbenv.sh

# 安装 ruby​​-build
运行 mkdir /usr/local/rbenv/plugins
运行 git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build

ENV 路径 /usr/local/rbenv/shims:/usr/local/rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# 设置为 Ruby 2.0.0-p247
运行 rbenv 安装 2.0.0-p247
运行 rbenv 重新哈希
运行 rbenv 本地 2.0.0-p247 …

ruby ruby-on-rails rbenv docker

7
推荐指数
1
解决办法
4893
查看次数

使用rbenv不适用于sudo?

任何使用的命令sudo似乎都不适用于RBenv.

我正在尝试安装ActiveRecord,它说我没有写权限,所以当我尝试这个时:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1 directory.
Run Code Online (Sandbox Code Playgroud)

它说:

sudo: gem: command not found
Run Code Online (Sandbox Code Playgroud)

我怎么能绕过这个?

ruby ubuntu rbenv

7
推荐指数
1
解决办法
7662
查看次数

ruby 更新错误

我尝试更新我的 ruby​​ 和 Rails 版本。但我最终遇到了这个错误:

~ ruby -v
/Users/Benjamin/.rbenv/shims/ruby: line 21: /usr/local/Cellar/rbenv/1.1.0/libexec/rbenv:
No such file or directory
Run Code Online (Sandbox Code Playgroud)

我能做些什么来解决这个问题吗?

ruby installation rubygems ruby-on-rails rbenv

7
推荐指数
2
解决办法
3845
查看次数

Bundler 使用错误的 Ruby 版本

当我尝试启动 Rails 服务器时,出现以下错误:

$ bundle exec rails s
Your Ruby version is 2.3.7, but your Gemfile specified ~> 2.3.8
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会发生这种情况,因为我使用 Homebrew 和 rbenv 将 Ruby 设置为 2.3.8。2.3.7是系统的ruby版本。我使用的是 Mac 操作系统 10.14.4。

$ ruby -v
ruby 2.3.8p459 (2018-10-18 revision 65136) [x86_64-darwin18]

$ rbenv version
2.3.8 (set by /Users/ceasar/foo/.ruby-version)

$ which -a ruby
/Users/ceasar/.rbenv/shims/ruby
/usr/local/opt/ruby@2.3/bin/ruby
/usr/local/bin/ruby
/usr/bin/ruby

$ which -a bundle
/Users/ceasar/.rbenv/shims/bundle
/usr/local/bin/bundle

$ /usr/bin/xcodebuild -version
Xcode 10.2
Build version 10E125

$ brew list ruby@2.3
/usr/local/Cellar/ruby@2.3/2.3.8_1/bin/erb
/usr/local/Cellar/ruby@2.3/2.3.8_1/bin/gem
/usr/local/Cellar/ruby@2.3/2.3.8_1/bin/irb
/usr/local/Cellar/ruby@2.3/2.3.8_1/bin/rake
/usr/local/Cellar/ruby@2.3/2.3.8_1/bin/rdoc
/usr/local/Cellar/ruby@2.3/2.3.8_1/bin/ri
/usr/local/Cellar/ruby@2.3/2.3.8_1/bin/ruby
/usr/local/Cellar/ruby@2.3/2.3.8_1/include/ruby-2.3.0/ …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails bundler rbenv

7
推荐指数
1
解决办法
6112
查看次数

Mac OS Mojave 上的 Ruby 2.4:找不到图像...与 openssl.bundle 相关

所以我在 Mac OS Mojave 上将我的 Ruby 升级到 2.4.9。

我在安装 gem 时遇到问题...

    proj$ gem install google-cloud-vision
ERROR:  Loading command: install (LoadError)
    dlopen(/Users/mc/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin16/openssl.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /Users/mc/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin16/openssl.bundle
  Reason: image not found - /Users/mc/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin16/openssl.bundle
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

proj$ ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16]
Run Code Online (Sandbox Code Playgroud)

我已经做了一堆 brew update && brew upgrade ,但我被卡住了......有什么指示吗?

ruby macos homebrew rbenv

7
推荐指数
1
解决办法
2249
查看次数

需要帮助在 Mac 上安装 Ruby 2.7.2

我正在尝试在我的 Mac(带有所有更新的最新操作系统)上安装 Ruby 版本 2.7.2 并执行以下操作

brew update
brew upgrade rbenv ruby-build
Run Code Online (Sandbox Code Playgroud)

进而

rbenv install 2.7.2
ruby-build: definition not found: 2.7.2

See all available versions with `rbenv install --list'.

If the version you need is missing, try upgrading ruby-build:

  brew update && brew upgrade ruby-build
Run Code Online (Sandbox Code Playgroud)

所以我尝试按照上面的说明进行操作并得到这个

brew update && brew upgrade ruby-build
Already up-to-date.
Warning: ruby-build 20200926 already installed
Run Code Online (Sandbox Code Playgroud)

ruby homebrew rbenv ruby-build

7
推荐指数
1
解决办法
1万
查看次数

Ruby:TMPDIR=/tmp 无法保存可执行文件

我正在尝试使用rbenv在远程服务器上安装Ruby

但是,当我运行命令时rbenv install 2.7.2,出现以下错误:

ruby-build:TMPDIR=/tmp 无法保存可执行文件(分区可能使用 挂载noexec

我已经正确安装了rbenv和 Ruby 编程语言的其他依赖项。

ruby rbenv

7
推荐指数
1
解决办法
2132
查看次数

为什么我会收到错误“Ruby openssl 扩展未编译错误:Ruby 安装由于缺少扩展而中止”?

当我跑步时

RUBY_CONFIGURE_OPTS=--with-openssl-dir=/usr/local/Cellar/openssl@3/3.0.1 rbenv install 3.1.0

我得到这个输出:

Downloading ruby-3.1.0.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.gz
Installing ruby-3.1.0...
ruby-build: using readline from homebrew

BUILD FAILED (macOS 11.6.2 using ruby-build 20211227-3-gcdc215e)

Inspect or clean up the working tree at /var/folders/ts/k_8jb10136s3zw9k2k08nz3c0000gn/T/ruby-build.20220113093111.65052.FVpqjp
Results logged to /var/folders/ts/k_8jb10136s3zw9k2k08nz3c0000gn/T/ruby-build.20220113093111.65052.log

Last 10 log lines:
The Ruby openssl extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Configure options used:
  --prefix=/Users/jeremy/.rbenv/versions/3.1.0
  --enable-shared
  --with-readline-dir=/usr/local/opt/readline
  --with-openssl-dir=/usr/local/Cellar/openssl@3/3.0.1
  CC=clang
  LDFLAGS=-L/Users/jeremy/.rbenv/versions/3.1.0/lib
  CPPFLAGS=-I/Users/jeremy/.rbenv/versions/3.1.0/include
Run Code Online (Sandbox Code Playgroud)

我在日志中没有看到任何线索。我尝试了很多事情,例如重新安装 rbenv 和 openssl、不指定配置选项、系统更新、安装 xcode 以及来自 google 的更多内容。也许我错过了一些东西。

ruby homebrew openssl rbenv ruby-build

7
推荐指数
1
解决办法
5520
查看次数