Gem::Ext::BuildError:错误:无法构建 gem 本机扩展。在 VScode 中运行 bundler install 时不断收到此消息

问题描述 投票:0回答:7

我正在尝试在 vscode for windows 上运行捆绑程序安装,但每次我这样做时,我都会收到相同的消息:

Fetching gem metadata from https://rubygems.org/.......
Resolving dependencies...
Using bundler 2.1.4
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/ext/byebug
/home/chadcunn/.rbenv/versions/2.7.1/bin/ruby -I /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20200718-7409-qq2a6i.rb extconf.rb
creating Makefile

current directory: /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/ext/byebug
make "DESTDIR=" clean

current directory: /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/ext/byebug
make "DESTDIR="
compiling breakpoint.c
compiling byebug.c
compiling context.c
compiling locker.c
compiling threads.c
linking shared-object byebug/byebug.so

current directory: /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/ext/byebug
make "DESTDIR=" install
/usr/bin/install -c -m 0755 byebug.so ./.gem.20200718-7409-z7mdim/byebug

Permission denied @ rb_file_s_rename - (./.gem.20200718-7409-z7mdim/byebug,
/home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/extensions/x86_64-linux/2.7.0/byebug-11.1.3/byebug)

Gem files will remain installed in /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3 for inspection.
Results logged to /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/extensions/x86_64-linux/2.7.0/byebug-11.1.3/gem_make.out

An error occurred while installing byebug (11.1.3), and Bundler cannot continue.
Make sure that `gem install byebug -v '11.1.3' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  byebug

然后当我尝试查看 gem install byebug 是否成功时,我得到了这个响应:

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

    current directory: /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/ext/byebug
/home/chadcunn/.rbenv/versions/2.7.1/bin/ruby -I /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20200718-7520-jpov6j.rb extconf.rb
creating Makefile

current directory: /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/ext/byebug
make "DESTDIR=" clean

current directory: /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/ext/byebug
make "DESTDIR="
compiling breakpoint.c
compiling byebug.c
compiling context.c
compiling locker.c
compiling threads.c
linking shared-object byebug/byebug.so

current directory: /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3/ext/byebug
make "DESTDIR=" install
/usr/bin/install -c -m 0755 byebug.so ./.gem.20200718-7520-b4jxqm/byebug

Permission denied @ rb_file_s_rename - (./.gem.20200718-7520-b4jxqm/byebug, /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/extensions/x86_64-linux/2.7.0/byebug-11.1.3/byebug)

Gem files will remain installed in /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/byebug-11.1.3 for inspection.
Results logged to /home/chadcunn/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/extensions/x86_64-linux/2.7.0/byebug-11.1.3/gem_make.out

我在编码或计算机方面不是很有经验,实际上我现在只是想学习如何在这些程序中工作,但我不知道如何解决这个问题或做什么。

有人能帮帮我吗?

ruby-on-rails ruby visual-studio-code rubygems bundler
7个回答
9
投票

您的系统缺少编译 byebug 等的本机包。您需要安装它并重试。例如

apt-get update && apt-get install -y build-essential

2
投票

您的系统可能缺少一些 ruby 依赖项。我在基于 Ubuntu 的系统上修复此错误的方法是安装

ruby-dev
包,如下所示:

sudo apt update && sudo apt install ruby-dev

我不太确定 window 的系统,但我认为问题是一样的:缺少依赖项。如果您需要更多帮助,此链接可能会有用:https://www.ruby-lang.org/en/documentation/installation/


1
投票

确保

gem install byebug -v '11.1.3' --source 'https://rubygems.org/'
在捆绑之前成功。

所以如果问题仍然存在,请运行

gem install byebug -v '11.1.3'
,尝试
gem install byebug
而不指定版本。这样做,gem 将搜索最新的。

但是,如果问题依然存在,你的ruby version 2.7.1可能还没有支持这个byebug版本。在这种情况下,尝试稳定的ruby版本,目前2.6.5、2.6.6,即此时所有2.6.x都是稳定的。

成功运行

gem install byebug
后,再次运行
bundle install

对 ruby 和 rails 有很大帮助的是看一下 官方 ruby 网页。在那里你会看到许多链接,这些链接指向如何根据你的操作系统使用适当的 ruby 版本和 rails 版本。

这些东西在教程中没有太多展示。


0
投票

我通过使用以下评论解决了

sudo curl -L https://get.rvm.io | bash -s 稳定 --ruby

然后关闭并重新打开终端

rvm 使用 ruby-3.1.1

rvm -- 默认使用 3.1.1

最后,

sudo gem 安装 cocoapods


0
投票

我需要设置

export BUNDLE_BUILD__SASSC=--disable-march-tune-native
来解决某些 SASS gem 中的一些编译错误。


0
投票

我的问题出在 rbenv 上。 我通过运行修复它:brew reinstall ruby-build 或者:brew install rbenv ruby-build


-1
投票

奔跑

gem 安装捆绑器 &&
宝石安装耙 &&
wget -c https://github.com/wurmlab/sequenceserver/archive/1.1.0.beta12.tar.gz &&
tar xfvz 1.1.0.beta12.tar.gz &&
cd sequenceserver-1.1.0.beta12 &&
npm 安装 -g 捆绑安装

© www.soinside.com 2019 - 2024. All rights reserved.