0

我正在尝试在本地计算机上安装 Ruby on Rails 以用于开发目的,但我遇到了一个错误。我不太清楚,但似乎它可能是一个宝石错误。不过,这是我第一次尝试使用所有这三个,Ruby、Gem 和 Rails,所以我不确定。

运行命令“sudo gem install rails -V”,这些是发生错误后打印的最后几行:

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

    /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)  
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:13:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/atomic-1.1.14 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/atomic-1.1.14/ext/gem_make.out

安装的 Ruby 版本是:

ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]

gem的版本是:

1.8.23
4

3 回答 3

2

以普通用户身份安装 gem,而不是 sudo:

gem install rails

或者安装 ruby​​ 开发包。SO中有很多类似的答案:

无法构建 gem 原生扩展 - Rails 安装

无法安装 gem - 无法构建 gem 本机扩展 - 无法加载此类文件 - mkmf (LoadError)

无法构建 gem 原生扩展 (mkmf (LoadError)) - Ubuntu 12.04

于 2013-11-06T14:43:51.267 回答
1

来自atomicgem README

As of 1.1.0, JDK8 is required to build the atomic gem, since it attempts to use the new atomic

请安装 Java,然后重新运行 gem 安装过程。

于 2013-11-06T14:44:01.593 回答
1

你有什么Linux?

在薄荷糖上,我做了:

sudo apt-get install git
sudo apt-get install curl
curl -L https://get.rvm.io | bash -s stable --ruby
sudo apt-get install git-core
source ~/.rvm/scripts/rvm
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
rvm autolibs enable
rvm reload
rvm requirements
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
rvm install ruby-2.0
curl -L https://get.rvm.io | bash -s stable --rails

它工作正常。但是,这将(当前)安装 Ruby 2.0 和 rails 4.0。

于 2013-11-06T15:44:03.057 回答