クローンしたリポジトリをローカルで正常に動作させたい。
「Everyday Rails - RSpecによるRailsテスト入門」のリモートリポジトリをクローンしました。
そしてGemfileに本書に書いてある通りのgemを入力し、bundle installすると、エラーが出ます。
試したこと
$bundle install
上記を実行すると
rbenv:
1 2The `bundle' command exists in these Ruby versions: 3 2.5.1 4 2.6.2 5 2.6.3
となります。
$rbenv local 2.6.3
を実行してrubyのバージョンを2.6.3に変更
$ruby -v
とすると
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
と表示されるのでバージョン切り替えは成功。
再び、
$bundle install
を実行。
Fetching gem metadata from https://rubygems.org/............. Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Using rake 10.3.2 Using i18n 0.6.9 Fetching json 1.8.1 Installing json 1.8.1 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/json-1.8.1/ext/json/ext/generator /Users/adachikeisuke/.rbenv/versions/2.6.3/bin/ruby -I /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/2.6.0 -r ./siteconf20190904-87012-h8h7sx.rb extconf.rb creating Makefile current directory: /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/json-1.8.1/ext/json/ext/generator make "DESTDIR=" clean current directory: /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/json-1.8.1/ext/json/ext/generator make "DESTDIR=" compiling generator.c In file included from generator.c:1: ./../fbuffer/fbuffer.h:175:47: error: too few arguments provided to function-like macro invocation VALUE result = rb_str_new(FBUFFER_PAIR(fb)); ^ /Users/adachikeisuke/.rbenv/versions/2.6.3/include/ruby-2.6.0/ruby/intern.h:814:9: note: macro 'rb_str_new' defined here #define rb_str_new(str, len) RB_GNUC_EXTENSION_BLOCK( \ ^ In file included from generator.c:1: ./../fbuffer/fbuffer.h:175:11: warning: incompatible pointer to integer conversion initializing 'VALUE' (aka 'unsigned long') with an expression of type 'VALUE (const char *, long)' (aka 'unsigned long (const char *, long)') [-Wint-conversion] VALUE result = rb_str_new(FBUFFER_PAIR(fb)); ^ ~~~~~~~~~~ generator.c:840:25: error: use of undeclared identifier 'rb_cFixnum' } else if (klass == rb_cFixnum) { ^ generator.c:842:25: error: use of undeclared identifier 'rb_cBignum' } else if (klass == rb_cBignum) { ^ 1 warning and 3 errors generated. make: *** [generator.o] Error 1 make failed, exit code 2 Gem files will remain installed in /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/json-1.8.1 for inspection. Results logged to /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/json-1.8.1/gem_make.out An error occurred while installing json (1.8.1), and Bundler cannot continue. Make sure that `gem install json -v '1.8.1' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: rails was resolved to 4.1.1, which depends on actionmailer was resolved to 4.1.1, which depends on actionpack was resolved to 4.1.1, which depends on actionview was resolved to 4.1.1, which depends on activesupport was resolved to 4.1.1, which depends on json
上記のエラーが発生。
とりあえず、素直に
$gem install json -v '1.8.1'
を実行。
Building native extensions. This could take a while... ERROR: Error installing json: ERROR: Failed to build gem native extension. current directory: /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/json-1.8.1/ext/json/ext/generator /Users/adachikeisuke/.rbenv/versions/2.6.3/bin/ruby -I /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/2.6.0 -r ./siteconf20190904-87119-16xh3zh.rb extconf.rb creating Makefile current directory: /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/json-1.8.1/ext/json/ext/generator make "DESTDIR=" clean current directory: /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/json-1.8.1/ext/json/ext/generator make "DESTDIR=" compiling generator.c In file included from generator.c:1: ./../fbuffer/fbuffer.h:175:47: error: too few arguments provided to function-like macro invocation VALUE result = rb_str_new(FBUFFER_PAIR(fb)); ^ /Users/adachikeisuke/.rbenv/versions/2.6.3/include/ruby-2.6.0/ruby/intern.h:814:9: note: macro 'rb_str_new' defined here #define rb_str_new(str, len) RB_GNUC_EXTENSION_BLOCK( \ ^ In file included from generator.c:1: ./../fbuffer/fbuffer.h:175:11: warning: incompatible pointer to integer conversion initializing 'VALUE' (aka 'unsigned long') with an expression of type 'VALUE (const char *, long)' (aka 'unsigned long (const char *, long)') [-Wint-conversion] VALUE result = rb_str_new(FBUFFER_PAIR(fb)); ^ ~~~~~~~~~~ generator.c:840:25: error: use of undeclared identifier 'rb_cFixnum' } else if (klass == rb_cFixnum) { ^ generator.c:842:25: error: use of undeclared identifier 'rb_cBignum' } else if (klass == rb_cBignum) { ^ 1 warning and 3 errors generated. make: *** [generator.o] Error 1 make failed, exit code 2 Gem files will remain installed in /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/json-1.8.1 for inspection. Results logged to /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/json-1.8.1/gem_make.out
エラー発生。
こちらの記事を参考にして
$bundle update json
を実行すると、インストールが完了し、
$bundle install
が実行できました!
次に、
$rails s
を実行すると、下記のエラーが発生。
/Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/core_ext/object/duplicable.rb:82: warning: BigDecimal.new is deprecated; use BigDecimal() method instead. /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/values/time_zone.rb:285: warning: circular argument reference - now => Booting WEBrick => Rails 4.1.1 application starting in development on http://0.0.0.0:3000 => Run `rails server -h` for more startup options => Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option) => Ctrl-C to shutdown server /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated Exiting Traceback (most recent call last): 8483: from bin/rails:3:in `<main>' 8482: from bin/rails:3:in `load' 8481: from /Users/adachikeisuke/Desktop/rails-4-1-rspec-3-0-01_untested/bin/spring:16:in `<top (required)>' 8480: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 8479: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 8478: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>' 8477: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load' 8476: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/spring-1.1.3/bin/spring:48:in `<top (required)>' ... 8471 levels... 4: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 3: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 2: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 1: from /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' /Users/adachikeisuke/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-4.1.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
こちらを参考にGemfileのRailsのバージョンを
gem 'rails', '5.1.1'
に変更して
$bundle update rails
を実行すると、
Fetching gem metadata from https://rubygems.org/............. Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Bundler could not find compatible versions for gem "railties": In Gemfile: factory_girl_rails (~> 4.4.1) was resolved to 4.4.1, which depends on railties (>= 3.0.0) jquery-rails was resolved to 3.1.0, which depends on railties (>= 3.0, < 5.0) rails (= 5.1.1) was resolved to 5.1.1, which depends on railties (= 5.1.1) sass-rails (~> 4.0.3) was resolved to 4.0.3, which depends on railties (>= 4.0.0, < 5.0)
上記のエラーが発生しました。
かなりエラーにはまっており、自分一人では解決できそうにありません。
正常に環境構築をして、早くRSpecの学習を始めたいです。
解決策分かる方おられましたら、是非回答をよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。