Получение ошибки (код выхода 2) для bootsnap, не позволяющей настроить Rails Server - PullRequest
0 голосов
/ 27 марта 2019

Попытка протестировать сайт, построенный на Rails, и постоянно выдает ошибку, которая не позволяет мне настроить мой сервер.

После получения ошибки я использовал 'gem install bootsnap -v' 1.4.2 '--source' https://rubygems.org/' с источником в качестве Rubygems. Та же ошибка:

Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR:  Error installing bootsnap:
        ERROR: Failed to build gem native extension.

    current directory: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.2/ext/bootsnap
C:/RailsInstaller/Ruby2.3.3/bin/ruby.exe -I C:/RailsInstaller/Ruby2.3.3/lib/ruby/site_ruby/2.3.0 -r ./siteconf20190327-13232-1084dsi.rb extconf.rb
creating Makefile

current directory: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.2/ext/bootsnap
make "DESTDIR=" clean

current directory: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.2/ext/bootsnap
make "DESTDIR="
generating bootsnap-i386-mingw32.def
compiling bootsnap.c
bootsnap.c: In function 'bs_cache_path':
bootsnap.c:240:3: warning: unknown conversion type character 'l' in format [-Wformat]
bootsnap.c:240:3: warning: too many arguments for format [-Wformat-extra-args]
bootsnap.c: In function 'bs_rb_fetch':
bootsnap.c:281:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
bootsnap.c: In function 'fetch_cached_data':
bootsnap.c:407:3: warning: comparison is always false due to limited range of data type [-Wtype-limits]
bootsnap.c: In function 'atomic_write_cache_file':
bootsnap.c:479:3: warning: implicit declaration of function 'mkstemp' [-Wimplicit-function-declaration]
bootsnap.c: In function 'bs_rb_fetch':
bootsnap.c:623:13: warning: 'output_data' may be used uninitialized in this function [-Wmaybe-uninitialized]
bootsnap.c:594:9: note: 'output_data' was declared here
linking shared-object bootsnap/bootsnap.so
bootsnap.o: In function `atomic_write_cache_file':
C:\RailsInstaller\Ruby2.3.3\lib\ruby\gems\2.3.0\gems\bootsnap-1.4.2\ext\bootsnap/bootsnap.c:479: undefined reference to `mkstemp'
collect2.exe: error: ld returned 1 exit status
make: *** [bootsnap.so] Error 1

make failed, exit code 2

Gem files will remain installed in C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.2 for inspection.
Results logged to C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/bootsnap-1.4.2/gem_make.out

Мой гемфайл включает в себя:

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.2', require: true

Я вижу, что bootnap расположен: C: \ RailsInstaller \ Ruby2.3.3 \ lib \ ruby ​​\ gems \ 2.3.0 \ gems

Кто-нибудь знает, как от этого избавиться? Он также не находится в моем списке драгоценных камней .

Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR:  Error installing bootsnap:
        ERROR: Failed to build gem native extension.

    current directory: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.2/ext/bootsnap
C:/RailsInstaller/Ruby2.3.3/bin/ruby.exe -I C:/RailsInstaller/Ruby2.3.3/lib/ruby/site_ruby/2.3.0 -r ./siteconf20190327-21940-1y9qpk9.rb extconf.rb
creating Makefile

current directory: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.2/ext/bootsnap
make "DESTDIR=" clean

current directory: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.2/ext/bootsnap
make "DESTDIR="
generating bootsnap-i386-mingw32.def
compiling bootsnap.c
bootsnap.c: In function 'bs_cache_path':
bootsnap.c:240:3: warning: unknown conversion type character 'l' in format [-Wformat]
bootsnap.c:240:3: warning: too many arguments for format [-Wformat-extra-args]
bootsnap.c: In function 'bs_rb_fetch':
bootsnap.c:281:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
bootsnap.c: In function 'fetch_cached_data':
bootsnap.c:407:3: warning: comparison is always false due to limited range of data type [-Wtype-limits]
bootsnap.c: In function 'atomic_write_cache_file':
bootsnap.c:479:3: warning: implicit declaration of function 'mkstemp' [-Wimplicit-function-declaration]
bootsnap.c: In function 'bs_rb_fetch':
bootsnap.c:623:13: warning: 'output_data' may be used uninitialized in this function [-Wmaybe-uninitialized]
bootsnap.c:594:9: note: 'output_data' was declared here
linking shared-object bootsnap/bootsnap.so
bootsnap.o: In function `atomic_write_cache_file':
C:\RailsInstaller\Ruby2.3.3\lib\ruby\gems\2.3.0\gems\bootsnap-1.4.2\ext\bootsnap/bootsnap.c:479: undefined reference to `mkstemp'
collect2.exe: error: ld returned 1 exit status
make: *** [bootsnap.so] Error 1

make failed, exit code 2

Gem files will remain installed in C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.2 for inspection.
Results logged to C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/bootsnap-1.4.2/gem_make.out

Ответы [ 2 ]

1 голос
/ 04 апреля 2019

У меня была такая же проблема, и я также использую railsinstaller на компьютере с Windows.

Чтобы решить ее, я обновил свой Gemfile следующим образом:

#gem 'bootsnap', '>= 1.1.0', require: false
gem 'bootsnap', '= 1.4.1', require: false

Затем запустите команду: bundle install в каталоге вашего проекта.

0 голосов
/ 23 мая 2019

Я также столкнулся с той же проблемой.Я использую ruby ​​2.3.0, rails 5.2.3.Чтобы решить эту проблему, я обновил свой Gemfile.

# it don't work....
# gem 'bootsnap', '>= 1.1.0', require: false
# gem 'bootsnap', '>= 1.4.2', require: false

gem 'bootsnap', require: false

Затем установил пакет и все заработало!

...