如何使用 gem 在 Ubuntu 上安装 Rails

2024-11-12 08:36:00
admin
原创
173
摘要:问题描述:错误信息:Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension. /usr/...

问题描述:

错误信息:

Building native extensions.  This could take a while...
ERROR:  Error installing rails:
  ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 -r ./siteconf20150328-1540-hff2f0.rb extconf.rb
checking if the C compiler accepts ... *** 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=/usr/bin/ruby2.1
  --help
  --clean
/usr/lib/ruby/2.1.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
  from /usr/lib/ruby/2.1.0/mkmf.rb:571:in `block in try_compile'
  from /usr/lib/ruby/2.1.0/mkmf.rb:522:in `with_werror'
  from /usr/lib/ruby/2.1.0/mkmf.rb:571:in `try_compile'
  from extconf.rb:80:in `nokogiri_try_compile'
  from extconf.rb:87:in `block in add_cflags'
  from /usr/lib/ruby/2.1.0/mkmf.rb:621:in `with_cflags'
  from extconf.rb:86:in `add_cflags'
  from extconf.rb:337:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.1.0/gems/nokogiri-1.6.6.2 for inspection.
Results logged to /var/lib/gems/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.6.6.2/gem_make.out

配置:

  1. Ubuntu 14.10(GNU/Linux 3.16.0-23-通用 x86_64)

  2. 海湾合作委员会(Ubuntu 4.9.1-16ubuntu6)4.9.1

  3. ruby 2.1.2p95(2014-05-08)[x86_64-linux-gnu]


解决方案 1:

使用 RVM 在 Ubuntu 14.04 上升级到 Rails 4.2.4 后,我需要执行以下操作:

sudo apt-get install libgmp-dev

或者

sudo apt-get install libgmp3-dev

完整堆栈跟踪:http://ruby-on-rails-eq8.blogspot.co.uk/2015/10/solving-ubuntu-1404-ruby-c-dependancy.html

解决方案 2:

您似乎缺少一些 Ruby 要求。如果您使用 RVM,请尝试:

rvm requirements

获取依赖项列表并手动安装它们。

否则,直接使用以下命令安装已知的基本要求:

sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev autoconf libc6-dev ncurses-dev automake libtool

解决方案 3:

您收到此错误是因为缺少 Ruby 的开发依赖项。

我建议您安装并使用 RVM 来解决这个问题,请查看此处的官方更新说明https://rvm.io/rvm/install

当我回答这个问题时,我遵循了以下步骤:

gpg --keyserver hkp://keys.gnupg.net --recv-keys
409B6B1796C275462A1703113804BB82D39DC0E3

curl -sSL https://get.rvm.io | bash

如果您收到此警告

  * WARNING: You have '~/.profile' file, you might want to load it,
    to do that add the following line to '/home/mao/.bash_profile':

  source ~/.profile

执行此命令:

echo source ~/.profile >> ~/.bash_profile

然后,通过执行以下命令重新加载/应用刚刚更新的 bash_profile:

source ~/.bash_profile

最后运行此命令来安装要求:

rvm requirements

这适用于任何 Linux 发行版,例如 Ubuntu、Fedora、Debian、Redhat、Slackware。

解决方案 4:

对于 Centos 7、Redhat 7:

yum -y install gcc ruby-dev

解决方案 5:

您可以安装 build-essential 来在 ubuntu 中设置 devtools:

apt-get install build-essential 
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用