运行bundle install和rails server命令时出错

时间:2017-07-27 05:33:46

标签: ruby-on-rails ruby ubuntu sqlite md5

每当我尝试运行上面提到的命令时,都会显示以下错误。

这是我尝试运行简单捆绑命令时的第一步:Bundle install

/home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/digest.rb:16:in `const_missing': library not found for class Digest::MD5 -- digest/md5 (LoadError)
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/source/rubygems/remote.rb:26:in `cache_slug'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/fetcher/compact_index.rb:107:in `cache_path'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/fetcher/compact_index.rb:83:in `compact_index_client'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/cli.rb:646:in `warn_on_outdated_bundler'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/cli.rb:24:in `block in dispatch'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor.rb:366:in `dispatch'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/cli.rb:22:in `dispatch'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/vendor/thor/lib/thor/base.rb:444:in `start'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/cli.rb:13:in `start'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/exe/bundle:30:in `block in <top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/exe/bundle:22:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/bin/bundle:22:in `load'
from /home/mifi/.rbenv/versions/2.4.0/bin/bundle:22:in `<main>'

当我发现上述错误时,我尝试为rails运行服务器命令,但它并不适合我。

rails服务器

/home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': libcrypto.so.1.0.2: cannot open shared object file: No such file or directory - /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/x86_64-linux/digest/sha1.so (LoadError)
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/source/git.rb:4:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/lockfile_parser.rb:122:in `<class:LockfileParser>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/lockfile_parser.rb:14:in `<module:Bundler>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/lockfile_parser.rb:13:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/definition.rb:2:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler.rb:129:in `definition'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler.rb:95:in `setup'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.15.3/lib/bundler/setup.rb:9:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/mifi/huginn/config/boot.rb:6:in `<top (required)>'
from bin/rails:8:in `require_relative'
from bin/rails:8:in `<main>'

rails -v命令相同:

/home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:120:in `require': libcrypto.so.1.0.2: cannot open shared object file: No such file or directory - /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/x86_64-linux/digest/md5.so (LoadError)
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:120:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/generators/app_base.rb:2:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/generators/rails/app/app_generator.rb:1:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/application/application_command.rb:2:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/behavior.rb:82:in `block (2 levels) in lookup'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/behavior.rb:78:in `each'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/behavior.rb:78:in `block in lookup'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/behavior.rb:77:in `each'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/behavior.rb:77:in `lookup'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command.rb:68:in `find_by_namespace'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command.rb:42:in `invoke'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/cli.rb:16:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
from /home/mifi/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-5.1.2/exe/rails:9:in `<top (required)>'
from /home/mifi/.rbenv/versions/2.4.0/bin/rails:22:in `load'
from /home/mifi/.rbenv/versions/2.4.0/bin/rails:22:in `<main>'

我有什么遗漏的。

2 个答案:

答案 0 :(得分:2)

我也遇到了同样的错误,似乎该版本的红宝石已损坏。

<div class="wrapper">
  <div class="stage_info">
    <button class="accordion" value="stage1">Stage 1</button>
    <div class="panel">
      <p>Information here..</p>
    </div>
    <button class="accordion" value="stage2">Stage 2</button>
    <div class="panel">
      <p>Information here..</p>
    </div>
    <button class="accordion" value="stage3">Stage 3</button>
    <div class="panel">
      <p>Information here..</p>
    </div>
    <button class="accordion" value="stage4">Stage 4</button>
    <div class="panel">
      <p>Information here..</p>
    </div>
  </div>
  <div class="stage_img">
    <map id="big_stage">
            <svg version="1.1" id="stadium" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
            width="100%" height="100%" viewBox="0 0 456.122 451.02" enable-background="new 0 0 456.122 451.02"
            xml:space="preserve">
				<rect id="stage4" x="25.51" y="25.51" fill="#1C6131" width="200" height="200"/>
				<rect id="stage3" x="230.612" y="25.51" fill="#1C6131" width="200" height="200"/>
				<rect id="stage2" x="25.51" y="229.592" fill="#1C6131" width="200" height="200"/>
				<rect id="stage1" x="230.612" y="229.592" fill="#1C6131" width="200" height="200"/>
			</svg>
           </map>
  </div>
</div>

使用带有rbenv的Mac,我对其进行了如下修复:

> bundle install
~/.rbenv/versions/2.5.6/lib/ruby/2.5.0/digest.rb:16:in `const_missing':
library not found for class Digest::SHA1 -- digest/sha1 (LoadError)

> ruby -r digest/sha1 -e 'p Digest::MD5'
...
Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)
...

捆绑安装在此之后起作用。

注意:我收到了很多有关运行gem pristine的消息,以防万一,我还运行了:

> ruby -v
ruby 2.5.6p201 (2019-08-28 revision 67796) [x86_64-darwin18]

> rbenv install 2.5.6
...
continue with installation? (y/N) y
...
Installed ruby-2.5.6 to ~/.rbenv/versions/2.5.6

> ruby -r digest/sha1 -e 'p Digest::MD5'
Digest::MD5

答案 1 :(得分:0)

未安装其中一个底层库。运行

sudo apt-get install libssl-dev libssl

假设您使用的是ubuntu linux。