在Linux Fedora中创建新的Ruby on Rails项目时出错

时间:2018-01-13 02:46:44

标签: ruby-on-rails ruby

[lpydawa@lpycomputer ~]$ rails new examples
      create  
      create  README.md
      create  Rakefile
      create  config.ru
      create  .gitignore
      create  Gemfile
      create  app
      create  app/assets/config/manifest.js
      create  app/assets/javascripts/application.js
      create  app/assets/javascripts/cable.js
      create  app/assets/stylesheets/application.css
      create  app/channels/application_cable/channel.rb
      create  app/channels/application_cable/connection.rb
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  app/jobs/application_job.rb
      create  app/mailers/application_mailer.rb
      create  app/models/application_record.rb
      create  app/views/layouts/application.html.erb
      create  app/views/layouts/mailer.html.erb
      create  app/views/layouts/mailer.text.erb
      create  app/assets/images/.keep
      create  app/assets/javascripts/channels
      create  app/assets/javascripts/channels/.keep
      create  app/controllers/concerns/.keep
      create  app/models/concerns/.keep
      create  bin
      create  bin/bundle
      create  bin/rails
      create  bin/rake
      create  bin/setup
      create  bin/update
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/secrets.yml
      create  config/cable.yml
      create  config/puma.rb
      create  config/spring.rb
      create  config/environments
      create  config/environments/development.rb
      create  config/environments/production.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/application_controller_renderer.rb
      create  config/initializers/assets.rb
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/cookies_serializer.rb
      create  config/initializers/cors.rb
      create  config/initializers/filter_parameter_logging.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_framework_defaults.rb
      create  config/initializers/session_store.rb
      create  config/initializers/wrap_parameters.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  lib
      create  lib/tasks
      create  lib/tasks/.keep
      create  lib/assets
      create  lib/assets/.keep
      create  log
      create  log/.keep
      create  public
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/apple-touch-icon-precomposed.png
      create  public/apple-touch-icon.png
      create  public/favicon.ico
      create  public/robots.txt
      create  test/fixtures
      create  test/fixtures/.keep
      create  test/fixtures/files
      create  test/fixtures/files/.keep
      create  test/controllers
      create  test/controllers/.keep
      create  test/mailers
      create  test/mailers/.keep
      create  test/models
      create  test/models/.keep
      create  test/helpers
      create  test/helpers/.keep
      create  test/integration
      create  test/integration/.keep
      create  test/test_helper.rb
      create  tmp
      create  tmp/.keep
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor/assets/javascripts
      create  vendor/assets/javascripts/.keep
      create  vendor/assets/stylesheets
      create  vendor/assets/stylesheets/.keep
      remove  config/initializers/cors.rb
         run  bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 12.3.0
Using concurrent-ruby 1.0.5
Using minitest 5.11.1
Using thread_safe 0.3.6
Using builder 3.2.3
Using erubis 2.7.0
Using nokogiri 1.8.1
Using crass 1.0.3
Using rack 2.0.3
Installing nio4r 2.2.0 with native extensions
Using websocket-extensions 0.1.3
Using mini_mime 1.0.0
Using arel 7.1.4
Installing bindex 0.5.0 with native extensions
Using bundler 1.13.7
Using byebug 9.1.0
Using coffee-script-source 1.12.2
Using execjs 2.7.0
Using method_source 0.9.0
Using thor 0.20.0
Using ffi 1.9.18
Using multi_json 1.13.1
Installing puma 3.11.0 with native extensions
Using rb-fsevent 0.10.2
Using tilt 2.0.8
Using sqlite3 1.3.13
Using turbolinks-source 5.1.0
Using i18n 0.9.1
Using tzinfo 1.2.4
Using loofah 2.1.1
Using rack-test 0.6.3
Using sprockets 3.7.1

然后错误开始出现......

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /home/lpydawa/.gem/ruby/2.4.0/gems/nio4r-2.2.0/ext/nio4r
/usr/bin/ruby -r ./siteconf20180113-10851-hcvjqz.rb extconf.rb
checking for unistd.h... *** 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}/lib64
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/$(RUBY_BASE_NAME)
/usr/share/ruby/mkmf.rb:457:in `try_do': The compiler failed to generate an
executable file. (RuntimeError)
You have to install development tools first.
    from /usr/share/ruby/mkmf.rb:588:in `try_cpp'
    from /usr/share/ruby/mkmf.rb:1095:in `block in have_header'
    from /usr/share/ruby/mkmf.rb:945:in `block in checking_for'
    from /usr/share/ruby/mkmf.rb:351:in `block (2 levels) in postpone'
    from /usr/share/ruby/mkmf.rb:321:in `open'
    from /usr/share/ruby/mkmf.rb:351:in `block in postpone'
    from /usr/share/ruby/mkmf.rb:321:in `open'
    from /usr/share/ruby/mkmf.rb:347:in `postpone'
    from /usr/share/ruby/mkmf.rb:944:in `checking_for'
    from /usr/share/ruby/mkmf.rb:1094:in `have_header'
    from extconf.rb:14:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which
can be found here:

/home/lpydawa/.gem/ruby/2.4.0/extensions/x86_64-linux/2.4.0/nio4r-2.2.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/home/lpydawa/.gem/ruby/2.4.0/gems/nio4r-2.2.0 for inspection.
Results logged to
/home/lpydawa/.gem/ruby/2.4.0/extensions/x86_64-linux/2.4.0/nio4r-2.2.0/gem_make.out

An error occurred while installing nio4r (2.2.0), and Bundler cannot
continue.
Make sure that `gem install nio4r -v '2.2.0'` succeeds before bundling.
         run  bundle exec spring binstub --all
Could not find gem 'sass-rails (~> 5.0)' in any of the gem sources listed in your Gemfile or available on this machine.
Run `bundle install` to install missing gems.
有人可以帮我解决这个问题吗?我已经做了大量的谷歌搜索,但仍然无法找到答案...(我使用的是fedora linux,我使用dnf来安装rails(sudo dnf install ruby​​gem-rails)和ruby已安装。我还安装了ruby- devel)请帮忙​​,因为我对铁轨上的红宝石很新...非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

dnf install rpm-build

然后将目录更改为Rails项目并运行

bundle install