错误:尝试下载 Rubocop 时无法构建 gem 本机扩展

use*_*832 14 downloads gem

当我尝试“sudo gem install rubocop”时,我得到...

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

    current directory: /var/lib/gems/2.3.0/gems/rainbow-2.2.1/ext
/usr/bin/ruby2.3 mkrf_conf.rb

current directory: /var/lib/gems/2.3.0/gems/rainbow-2.2.1/ext
/usr/bin/ruby2.3 -rubygems /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake RUBYARCHDIR=/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.1 RUBYLIBDIR=/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.1
/usr/bin/ruby2.3: No such file or directory -- /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake (LoadError)

rake failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/rainbow-2.2.1 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.1/gem_make.out
Run Code Online (Sandbox Code Playgroud)

所以我尝试了许多解决方案,特别是来自/sf/ask/1578132811/(不同的 gem,相同的错误)

我尝试使用“rvm重新安装 --disable-binary 2.2.0”重新安装 RVM,这花了一段时间但没有修复它

接下来我尝试了 $ "sudo apt-get install ruby​​-dev" 这产生了

Reading package lists... Done
Building dependency tree       
Reading state information... Done
ruby-dev is already the newest version (1:2.3.0+1).
The following packages were automatically installed and are no longer required:
  dkms linux-headers-4.4.0-53 linux-headers-4.4.0-53-generic
  linux-image-4.4.0-53-generic linux-image-extra-4.4.0-53-generic
  python-appindicator python-gconf python-gi python-glade2
  python-gobject python-pexpect python-ptyprocess python-xdg
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 40 not upgraded.
Run Code Online (Sandbox Code Playgroud)

我也试过“gem update --system”,我得到了......

Latest version currently installed. Aborting.
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激,因为我是一个完全的菜鸟并且我被卡住了。

Sea*_*ond 29

sudo gem install rake然后再做sudo gem install rubocop,它应该可以工作。

您是否安装了正确版本的 rake 似乎并不重要。为我rake --version报告,10.5.0但我仍然收到与您相同的错误消息。

查看错误消息,它正在寻找rake特定路径,而不仅仅是我的任何地方PATH

/usr/bin/ruby2.3: No such file or directory -- /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake (LoadError)
Run Code Online (Sandbox Code Playgroud)

which rake报道/usr/local/bin/rake,不是/usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake

事实上,正如错误消息所说,在/usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake.

这可能与rakeapt-get installed 而不是gem installed 有关。sudo gem install rake创建该文件。