gem install:错误:无法构建gem本地扩展。

4

我正在使用Arch Linux并安装了Ruby(版本为2.0.0)。

在安装Ruby时,它告诉我应该添加:

$(ruby -rubygems -e "puts Gem.user_dir")/bin

为了让命令能够全局使用,我将它添加到了.bashrc文件中。

当我尝试安装rails或其他gem时,出现“Error: Failed to build gem native extension”错误。以下是完整的错误信息:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/lib/ruby/gems/2.0.0 directory.
[alexander@localhost ~]$ sudo gem install rails --no-user-install
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
creating Makefile

make "DESTDIR="
sh: make: command not found


Gem files will remain installed in /usr/lib/ruby/gems/2.0.0/gems/atomic-1.1.10 for inspection.

当我查找此错误时,我发现人们通过安装ruby-dev软件包来解决此错误,但是这在Arch Linux中不存在。还有其他选项可以尝试吗?
提前致谢!

日常使用 Ruby 时,请使用 RVM 或 rbenv。系统版本应保留给系统应用程序。 - Hauleth
2个回答

6

要构建本机扩展,您需要 C++ 编译器和工具。这是明确说明的:

sh: make: command not found

除了必要的make工具,您显然还需要编译器本身(例如gcc)及其相关组件。因此,
sudo apt-get install gcc 

这样做就可以解决问题了。顺便说一下,上面正确建议的RVM方式也肯定需要构建工具。


这样不行:make命令来自于build-essential软件包,而不是gcc。 - Russ Bateman
这让我找对了方向。我升级了OSX,命令行工具被卸载了。 - cbaigorri

2

试试这些命令

sudo apt-get install ruby1.9.1-dev build-essential

sudo apt-get install ruby-compass


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接