2015-09-10 121 views
1

我正在尝试安装Rails。我通过它(它的工作原理)安装RVM,那么最新的Ruby版本,但安装Rails的失败是这样的:”错误:无法构建gem本机扩展。“同时安装Rails

[email protected]:~$ gem install rails 
Building native extensions. This could take a while... 
/home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/ext/builder.rb:73: warning: Insecure world writable dir /allext/soft_without_install in PATH, mode 040777 
ERROR: Error installing rails: 
    ERROR: Failed to build gem native extension. 

    /home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20150911-21759-1c3q6e9.rb extconf.rb 
checking if the C compiler accepts ... yes 
Building nokogiri using packaged libraries. 
*** 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}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=/home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/bin/$(RUBY_BASE_NAME) 
    --help 
    --clean 
    --use-system-libraries 
/home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': /home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/x86_64-linux/digest/md5.so: undefined symbol: rb_Digest_MD5_Init - /home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/x86_64-linux/digest/md5.so (LoadError) 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.1/gems/mini_portile-0.6.2/lib/mini_portile.rb:7:in `<top (required)>' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require' 
    from extconf.rb:395:in `<main>' 

extconf failed, exit code 1 

Gem files will remain installed in /home/serge1peshcoff/.rvm/gems/ruby-2.2.1/gems/nokogiri-1.6.6.2 for inspection. 
Results logged to /home/serge1peshcoff/.rvm/gems/ruby-2.2.1/extensions/x86_64-linux/2.2.0/nokogiri-1.6.6.2/gem_make.out 

我寻找答案互联网,但我发现一点也不像。我试图安装libssl-dev,这是在一种情况下的原因,它什么都没做。另一个答案说运行rvm requirements知道什么是没有安装,我也试过,但它也没有工作。所以我完全失去了。 有谁知道如何解决它?

UPD:我通过gem install nokogiri --use-system-libraries安装nokigiri,它没有错误安装,但我仍然面临着同样的错误运行Rails的同时,像这样:

[email protected]:/all/Documents/Programming/rails$ rails 
/home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/x86_64-linux/digest/md5.so: undefined symbol: rb_Digest_MD5_Init - /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/x86_64-linux/digest/md5.so (LoadError) 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/gems/railties-4.2.4/lib/rails/generators/app_base.rb:1:in `<top (required)>' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/gems/railties-4.2.4/lib/rails/generators/rails/app/app_generator.rb:1:in `<top (required)>' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/gems/railties-4.2.4/lib/rails/commands/application.rb:2:in `<top (required)>' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/gems/railties-4.2.4/lib/rails/cli.rb:14:in `<top (required)>' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/gems/railties-4.2.4/bin/rails:9:in `<top (required)>' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/bin/rails:23:in `load' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/bin/rails:23:in `<main>' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval' 
    from /home/serge1peshcoff/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>' 
+0

我解决了它:https://stackoverflow.com/questions/32590507/undefined-symbol-rb-digest-md5-init-while-running-rails – serge1peshcoff

回答

1

这涉及到在this question

报道 nokogiri问题

还有一些额外的linux库需要编译它。

+0

我安装了'nokogiri'通过运行'gem install nokogiri - use-system-libraries'然后是'gem install rails',一切都很好,然后我开始使用Rails,并且我得到了关于“未定义符号:rb_Digest_MD5_Init”(与安装时相同)的错误,即使我运行时没有参数 – serge1peshcoff

+0

这个答案如何:“http://stackoverflow.com/questions/3545118/faulty-ruby-compilation-with-rvm-getting-undefined-symbol-rb-digest-md5-init” –

+0

尝试它之前发布此问题:我的资源库中没有'libreadline5-dev'(尽管我已经替换了软件包,我安装了其中一个软件包),并且我尝试重新安装'libssl-dev'(我发现它可能是问题),而我仍然有相同的结果。 – serge1peshcoff

相关问题