1

当我尝试安装 byebug 时出现错误。这是什么原因?

sudo gem install byebug -v '10.0.1'
Building native extensions. This could take a while...
ERROR:  Error installing byebug:
    ERROR: Failed to build gem native extension.

    current directory: /var/lib/gems/2.3.0/gems/byebug-10.0.1/ext/byebug
/usr/bin/ruby2.3 -r ./siteconf20180326-12662-69j4pj.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/byebug-10.0.1 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86-linux/2.3.0/byebug-10.0.1/gem_make.out
4

1 回答 1

0

此错误mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h告诉您它找不到构建 gem 所需的头文件。

另外,你为什么要安装sudo?你在什么系统上?您使用的是版本管理器rvm还是rbenv?我推荐https://rvm.io/rvm/install

尝试使用系统库安装

gem install byebug -v '10.0.1' --use-system-libraries

如果这不起作用,请运行以下命令并发布它们的输出:

which ruby
ruby -v
gem -v
echo "${PATH//:/\n}" #may not work if your not on an *nix system

更新:

转到项目的根目录。选择一个 ruby​​ 版本,但看起来 ruby​​ 指向的是系统 ruby​​,而不是 rvm 版本。尝试安装一个新的红宝石:

rvm install 2.4.1
rvm use 2.4.1
gem install byebug

如果您的项目中有一个 Gemfile,并且它ruby -v确保它与您使用 rvm 设置并添加gem 'byebug'到您的 Gemfile 的版本相匹配,然后运行

bundle install
于 2018-03-26T23:40:15.867 回答