Windows:安装 jekyll 时出错 + gem 更新失败 - 错误:无法构建 gem 本机扩展

发布于 2025-01-16 03:18:14 字数 3851 浏览 2 评论 0原文

[系统:Windows 10](专业版,最新)

大家好,我是新来的,我知道我有一个问题被问了很多次,但是......坦白说,我不明白答案,我很迷茫……英语不是我的母语,抱歉,如果它显示出来的话。

我想要做什么:

我想为个人博客安装 Jekyll。我在安装结束时遇到问题: 安装 jekyll 时出错:错误:无法构建 gem 本机扩展

我已经做了什么:

  • 按照说明进行操作 这里,我已经安装了Ruby+Devkit 3.1.1-1 (x64) ,在安装末尾添加 ridk install
  • ridk install 打开一个命令窗口,我已经安装了所要求的 3 个东西,看起来已经成功了。
  • 我安装了 gccmingw-get-setup.exe 作为依赖项(如果我没记错的话,也许没有必要)。
  • 在 git bash gem install bundler 中运行(无论有没有管理员权限,似乎都是一样的)。成功。
  • 在 git bash gem install jekyll 中运行 - 失败。 (即使重新启动计算机后)。
  • 我在另一个线程中看到了一个答案,他告诉我在安装 Jekyll 之前进行gem update - 失败。

所以我想问题更多在这方面,以下是日志:
第一部分:

ERROR:  Error installing bigdecimal:
        ERROR: Failed to build gem native extension.

    current directory: C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/bigdecimal-3.1.2/ext/bigdecimal
C:/Ruby31-x64/bin/ruby.exe -I C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0 -r ./siteconf20220322-6432-916opp.rb extconf.rb
checking RUBY_BIGDECIMAL_VERSION... 3.1.2
checking for __builtin_clz()... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

mkmf.log 文件:

PATH=".;C:/Ruby31-x64/lib;C:\Ruby31-x64\bin;C:\Ruby31-x64\msys64\mingw64\bin;C:\Ruby31-x64\msys64\usr\bin;C:\Users\User\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\User\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\dotnet;C:\Program Files\nodejs;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;C:\Ruby31-x64\bin;C:\Users\User\AppData\Local\Microsoft\WindowsApps;C:\Users\User\AppData\Local\atom\bin;C:\Users\User\AppData\Local\GitHubDesktop\bin;C:\Users\User\AppData\Roaming\npm;C:\MinGW\bin;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl" "gcc -o conftest.exe -IC:/Ruby31-x64/include/ruby-3.1.0/x64-mingw-ucrt -IC:/Ruby31-x64/include/ruby-3.1.0/ruby/backward -IC:/Ruby31-x64/include/ruby-3.1.0 -I. -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0600 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64  -O3 -fno-fast-math -fstack-protector-strong conftest.c  -L. -LC:/Ruby31-x64/lib -L. -pipe -s -fstack-protector-strong -Wl,--no-as-needed  -m64   -lx64-ucrt-ruby310  -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt  "
conftest.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
 #include "ruby.h"
 
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char **argv)
6: {
7:   return !!argv[argc];
8: }
/* end */

第二部分

C:/Ruby31-x64/lib/ruby/3.1.0/mkmf.rb:498:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
To see why this extension failed to compile, please check the mkmf.log which can be found here: //(same mkmf.log)

extconf failed, exit code 1


所以,我在第二部分中了解到需要安装开发工具......有此帖子试图回答这问题,但是 Ruby+Devkit 不是在处理这部分吗?我错过了什么吗?

我看到其他答案告诉我在路径中添加 devkit,但我的计算机中没有任何 RubyDevkit 文件夹......我迷路了

[System : Windows 10] (pro, up to date)

Hi folks, I’m new here and I know I have a question asked many times, but… I don’t understand the answers, frankly, and I’m fairly lost… English is not my native language, sorry if it shows.

What I want to do:

I want to install Jekyll for a personal blog. I have an issue at the end of the installation : Error installing jekyll: ERROR: Failed to build gem native extension

What I already did:

  • Following the instructions here, I have installed Ruby+Devkit 3.1.1-1 (x64) , with the ridk install crossed at the end of the install.
  • The ridk install open a command window, I have installed the 3 things asked and it seems to have succeeded.
  • I installed gcc with mingw-get-setup.exe for the dependancies (if I’m not mistaken, maybe it wasn’t necessary).
  • Run in git bash gem install bundler (with or without admin right, seems to do the same). Success.
  • Run in git bash gem install jekyll - fail. (even after a relaunch of the computer).
  • I have seen an answer in another thread who was telling to do a gem update before installing Jekyll - failed.

So I guess the problem is more on this end, here are the logs :
First part:

ERROR:  Error installing bigdecimal:
        ERROR: Failed to build gem native extension.

    current directory: C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/bigdecimal-3.1.2/ext/bigdecimal
C:/Ruby31-x64/bin/ruby.exe -I C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0 -r ./siteconf20220322-6432-916opp.rb extconf.rb
checking RUBY_BIGDECIMAL_VERSION... 3.1.2
checking for __builtin_clz()... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

the mkmf.log file :

PATH=".;C:/Ruby31-x64/lib;C:\Ruby31-x64\bin;C:\Ruby31-x64\msys64\mingw64\bin;C:\Ruby31-x64\msys64\usr\bin;C:\Users\User\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\User\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files\dotnet;C:\Program Files\nodejs;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;C:\Ruby31-x64\bin;C:\Users\User\AppData\Local\Microsoft\WindowsApps;C:\Users\User\AppData\Local\atom\bin;C:\Users\User\AppData\Local\GitHubDesktop\bin;C:\Users\User\AppData\Roaming\npm;C:\MinGW\bin;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl" "gcc -o conftest.exe -IC:/Ruby31-x64/include/ruby-3.1.0/x64-mingw-ucrt -IC:/Ruby31-x64/include/ruby-3.1.0/ruby/backward -IC:/Ruby31-x64/include/ruby-3.1.0 -I. -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0600 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64  -O3 -fno-fast-math -fstack-protector-strong conftest.c  -L. -LC:/Ruby31-x64/lib -L. -pipe -s -fstack-protector-strong -Wl,--no-as-needed  -m64   -lx64-ucrt-ruby310  -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt  "
conftest.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
 #include "ruby.h"
 
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char **argv)
6: {
7:   return !!argv[argc];
8: }
/* end */

2nd part:

C:/Ruby31-x64/lib/ruby/3.1.0/mkmf.rb:498:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
To see why this extension failed to compile, please check the mkmf.log which can be found here: //(same mkmf.log)

extconf failed, exit code 1


So, I get in the 2nd part that the development tools need to be installed… There is this thread who try to answer this question, but wasn’t Ruby+Devkit handling this part ? Did I miss something ?

I have seen other answers telling to add the devkit in the path, but I don’t have any RubyDevkit folder in my computer… I’m lost ????.

Thanks in advance for any answer, hope I did not forget anything ^^’

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半衬遮猫 2025-01-23 03:18:14

好吧,我想我找到了答案:问题是我正在使用 git bash 的命令提示符。我尝试使用 ruby​​ 命令提示符,安装似乎工作正常。

所以,我不明白 git bash 的问题出在哪里,但我现在已经完成了,因为它似乎工作正常。

感谢您的帮助!

Ok I think I found my answer : the problem was that I was using the command prompt of git bash. I tried commande prompt with ruby and the installation seems to work fine.

So, I don’t understand where is the issue with git bash, but I’m done for now since it seems to work fine.

Thanks for the help !

静谧 2025-01-23 03:18:14

我没有成功重现您的问题,一切都对我有用^^'。您可以打开命令提示符并输入以下命令的输出:

ridk install

I didn't succeed to reproduce your issue everything works for me ^^'. Can you open a Command Prompt and past the output of the following command:

ridk install

?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文