Getting error (exit code 2) for bootsnap, not allowing to set up Rails Server

China☆狼群 提交于 2019-12-23 04:20:45

问题


Trying to test a website built on Rails and keep getting an error that refuses to allow me to set up my server.

After getting an error, I used 'gem install bootsnap -v '1.4.2' --source 'https://rubygems.org/' with the source as Rubygems. Same error:

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

My gemfile includes this:

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

I do see bootsnap located: C:\RailsInstaller\Ruby2.3.3\lib\ruby\gems\2.3.0\gems

Would anyone know how to get rid of this? It is not located on my gem list either.

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

回答1:


I had the same problem and I'm also using railsinstaller on a windows computer.

To solve it, I updated my Gemfile like this :

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

Then run the command : bundle install in your project directory.




回答2:


I also encountered the same problem. I'm using ruby 2.3.0, rails 5.2.3. To solve it, I updated my Gemfile.

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

gem 'bootsnap', require: false

Then bundle install and it works!



来源:https://stackoverflow.com/questions/55386266/getting-error-exit-code-2-for-bootsnap-not-allowing-to-set-up-rails-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!