引导时出错(退出代码2),不允许设置Rails Server

时间:2019-03-27 20:53:16

标签: ruby-on-rails ruby development-environment

尝试测试基于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

我的gemfile包含以下内容:

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

我确实看到了引导程序位于: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 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并且还在Windows计算机上使用railsinstaller。

要解决此问题,我像这样更新了Gemfile:

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

然后在项目目录中运行命令:bundle install

答案 1 :(得分:0)

我也遇到了同样的问题。我正在使用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

然后安装捆绑软件,它就可以使用!