AWSCloud9環境でMichaelHartlによるRuby on Rails Tutorial(Rails5))を実行しています。これで、第11章を終了します。プログラミングも)
Rails(またはRuby)システムに関連する何かが壊れたようです。Railsサーバー、テスト、またはコンソールを起動できなくなりました。
私が受け取るエラーメッセージは通常これで始まりますが、ここやGoogleで多くの情報を見つけることができませんでした。 ovirt-engine-sdk -v '4.2.3'
/usr/local/rvm/gems/Ruby-2.4.1/gems/bundler-1.16.1/lib/bundler/spec_set.rb:88:in `block in materialize': Could not find ovirt-engine-sdk-4.2.3 in any of the sources (Bundler::GemNotFound)
bundle install
またはbundle update
を試してみると、次のような出力が得られます。
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for Ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, Java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 Java`.
Fetching gem metadata from https://rubygems.org/........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies......
Using rake 12.3.1
Using CFPropertyList 2.3.6
Using concurrent-Ruby 1.0.5
Using i18n 0.9.5
Using minitest 5.11.3
Using thread_safe 0.3.6
Using tzinfo 1.2.5
Using activesupport 5.1.4
Using builder 3.2.3
Using erubi 1.7.1
Using mini_portile2 2.3.0
Using nokogiri 1.8.2
Using Rails-dom-testing 2.0.3
Using crass 1.0.4 (was 1.0.3)
Using loofah 2.2.2
Using Rails-html-sanitizer 1.0.4
Using actionview 5.1.4
Using rack 2.0.4
Using rack-test 1.0.0
Using actionpack 5.1.4
Using nio4r 2.3.0
Using websocket-extensions 0.1.3
Using websocket-driver 0.6.5
Using actioncable 5.1.4
Using globalid 0.4.1
Using activejob 5.1.4
Using mini_mime 1.0.0
Using mail 2.7.0
Using actionmailer 5.1.4
Using activemodel 5.1.4
Using arel 8.0.0
Using activerecord 5.1.4
Using ansi 1.5.0
Using execjs 2.7.0
Using autoprefixer-Rails 8.2.0
Using bcrypt 3.1.11
Using bindex 0.5.0
Using rb-fsevent 0.10.3
Using ffi 1.9.23
Using rb-inotify 0.9.10
Using sass-listen 4.0.0
Using sass 3.5.6
Using bootstrap-sass 3.3.7
Using will_paginate 3.1.6
Using bootstrap-will_paginate 1.0.0
Using bundler 1.16.1
Using byebug 9.0.6
Using mime-types-data 3.2016.0521
Using mime-types 3.1
Using carrierwave 1.2.2
Using coderay 1.1.2
Using coffee-script-source 1.12.2
Using coffee-script 2.4.1
Using method_source 0.9.0
Using thor 0.20.0
Using railties 5.1.4
Using coffee-Rails 4.2.2
Using unf_ext 0.0.7.5
Using unf 0.1.4
Using domain_name 0.5.20170404
Using excon 0.62.0
Using faker 1.7.3
Using fission 0.5.0
Using formatador 0.2.5
Using fog-core 1.45.0
Using multi_json 1.13.1
Using fog-json 1.0.2
Using ipaddress 0.8.3
Using xml-simple 1.1.5
Using fog-aliyun 0.2.0
Using fog-xml 0.1.3
Using fog-atmos 0.1.0
Using fog-aws 2.0.1
Using inflecto 0.0.2
Using fog-brightbox 0.14.0
Using fog-cloudatcost 0.1.2
Using fog-digitalocean 0.3.0
Using fog-dnsimple 1.0.0
Using fog-dynect 0.0.3
Using fog-ecloud 0.3.0
Using fog-google 0.1.0
Using fog-internet-archive 0.0.1
Using fog-joyent 0.0.1
Using fog-local 0.5.0
Using fog-openstack 0.1.25
Using json 2.1.0
Fetching ovirt-engine-sdk 4.2.3
Installing ovirt-engine-sdk 4.2.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /usr/local/rvm/gems/Ruby-2.4.1/gems/ovirt-engine-sdk-4.2.3/ext/ovirtsdk4c
/usr/local/rvm/rubies/Ruby-2.4.1/bin/Ruby -r ./siteconf20180409-4891-qfsq17.rb extconf.rb
checking for xml2-config... yes
checking for curl-config... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--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=/usr/local/rvm/rubies/Ruby-2.4.1/bin/$(Ruby_BASE_NAME)
--with-libcurl-config
--without-libcurl-config
--with-pkg-config
--without-pkg-config
extconf.rb:40:in `<main>': The "libcurl" package isn't available. (RuntimeError)
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/usr/local/rvm/gems/Ruby-2.4.1/extensions/x86_64-linux/2.4.0/ovirt-engine-sdk-4.2.3/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.4.1/gems/ovirt-engine-sdk-4.2.3 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.4.1/extensions/x86_64-linux/2.4.0/ovirt-engine-sdk-4.2.3/gem_make.out
An error occurred while installing ovirt-engine-sdk (4.2.3), and Bundler cannot continue.
Make sure that `gem install ovirt-engine-sdk -v '4.2.3'` succeeds before bundling.
In Gemfile:
fog was resolved to 1.42.0, which depends on
fog-ovirt was resolved to 1.0.2, which depends on
ovirt-engine-sdk
上記の出力からのgem_make.out
ファイルの結果を見ると、次のことがわかります。
current directory: /usr/local/rvm/gems/Ruby-2.4.1/gems/ovirt-engine-sdk-4.2.3/ext/ovirtsdk4c
/usr/local/rvm/rubies/Ruby-2.4.1/bin/Ruby -r ./siteconf20180409-4891-qfsq17.rb extconf.rb
checking for xml2-config... yes
checking for curl-config... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--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=/usr/local/rvm/rubies/Ruby-2.4.1/bin/$(Ruby_BASE_NAME)
--with-libcurl-config
--without-libcurl-config
--with-pkg-config
--without-pkg-config
extconf.rb:40:in `<main>': The "libcurl" package isn't available. (RuntimeError)
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/usr/local/rvm/gems/Ruby-2.4.1/extensions/x86_64-linux/2.4.0/ovirt-engine-sdk-4.2.3/mkmf.log
extconf failed, exit code 1
上記のmkmf.logの出力は次のとおりです。
find_executable: checking for xml2-config... -------------------- yes
--------------------
find_executable: checking for curl-config... -------------------- no
--------------------
"pkg-config --exists libcurl"
package configuration for libcurl is not found
だから私は立ち往生しています..この時点でovirt-engine-sdk-4.23
をインストールすることができません。
助けてくれてありがとう。他にサポートが必要なファイルや情報があればお知らせください。
だから私はこれを修正することができました:
Libcurl開発者バージョンのインストール:
Sudo yum install libcurl libcurl-devel
それが完了したら、バンドル更新を実行しました。これにより、インストールでさらに実行されました。この時点で失敗しましたInstalling pg 0.20.0 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
ランニング Sudo yum install postgresql-devel
pg 0.20.0の問題を解決し、バンドルの更新を完了できるようになりました。Railsが再び機能しているようです。
このすべての後、Railsサーバーで起動に問題が発生しました。このコマンドはそれを再び機能させました:bin/Rails db:migrate Rails_ENV=development
その後、環境とRailsすべてが再び正常に機能しているようです。
Ubuntuユーザーの場合:
Sudo apt-get install build-essential libcurl4-openssl-dev
Ubuntuシステムを使用している場合は、次のコマンドを使用します。
Sudo apt-get --assume-yes install gcc libcurl4-openssl-dev libxml2-dev Ruby ruby-dev
次に実行します
バンドルインストール
次のコマンドを実行することで、linux/debianまたはubuntuでこれを簡単に解決できます。
Sudo apt-get install build-essential libcurl4-openssl-dev
Sudo apt-get install libxml2-dev
あなたは大丈夫なはずです。
私は同様の問題に遭遇しました:
In Gemfile:
fog was resolved to 2.1.0, which depends on
fog-ovirt was resolved to 1.1.6, which depends on
ovirt-engine-sdk
ovirt 4.3.0は、次のエラーをスローしました。
Fetching ovirt-engine-sdk 4.3.0
Installing ovirt-engine-sdk 4.3.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /usr/local/rvm/gems/Ruby-2.4.1/gems/ovirt-engine-sdk-4.3.0/ext/ovirtsdk4c
/usr/local/rvm/rubies/Ruby-2.4.1/bin/Ruby -r ./siteconf20190508-5580-eyxazz.rb extconf.rb
checking for xml2-config... no
*** extconf.rb failed ***
その後、実行後にインストールをバンドルすることができました。
Sudo yum install libxml2 libxml2-devel
ただし、Sudo yum install libxml2 libxml2-devは成功しませんでした