【问题标题】:gem install: ERROR: Failed to build gem native extensiongem install: 错误: 无法构建 gem 原生扩展
【发布时间】:2013-06-27 10:21:14
【问题描述】:

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

当我安装 Ruby 时,它说我应该添加:

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

在我的路径中,我将它添加到 .bashrc

当我尝试 gem install rails 或任何其他 gem 时,它会给出错误:无法构建 gem 原生扩展。这是完整的错误:

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 不存在。我可以尝试其他任何选择吗?

提前致谢!

【问题讨论】:

  • 使用 RVM 或 rbenv 进行日常 Ruby 使用。系统版本应该留给系统应用。

标签: ruby-on-rails ruby rubygems archlinux


【解决方案1】:

试试这个命令

sudo apt-get install ruby​​1.9.1-dev build-essential

sudo apt-get install ruby​​-compass

【讨论】:

    【解决方案2】:

    要构建原生扩展,您需要 c++ 编译器和工具。说的很清楚:

    sh: make: command not found
    

    除了make 实用程序,您显然需要编译器本身(例如gcc)和公司。因此,

    sudo apt-get install gcc 
    

    会成功的。顺便说一句,上面正确建议的 RVM 方式肯定也需要构建工具。

    【讨论】:

    • 这行不通:make 来自 build-essential 包而不是 gcc。
    • 这让我走上了正轨。我升级了osx,命令行工具被卸载了。
    猜你喜欢
    • 2021-01-12
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 2014-06-04
    • 2016-07-29
    相关资源
    最近更新 更多