Windows 上的 Gem 更新 - 它坏了吗?

2023-11-26

这是后续这个问题.

当我发出gem updateWindows 上的命令,每当它到达 gem 的最新版本没有 Windows 二进制文件,它会尝试 构建本机扩展当然会失败。例如:

Updating sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
  ERROR: Failed to build gem native extension.

c:/ruby/bin/ruby.exe extconf.rb update
checking for fdatasync() in rt.lib... no
checking for sqlite3.h... no

nmake
'nmake' is not recognized as an internal or external command,
operable program or batch file.

1.x 之前的旧行为至少要求所需的平台 使更新成为可能。现在我根本无法更新,除非我卸载 麻烦的 gems(目前是 sqlite3-ruby 和 hpricot),运行更新, 然后使用 --version 开关重新安装 gem。

有人能解决这个难题吗?还是我们一直坚持这个问题?


Note:

$ gem -v
1.2.0

$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

注(2008 年 9 月 26 日):我刚刚更新到 gems 1.3.0,这个问题仍然存在。

注(2008 年 11 月 18 日):刚刚更新到gems 1.3.1,问题依然存在。

注(2009 年 4 月 28 日):最新版本的宝石(1.3.2) 现在会跳过更新期间构建本机扩展失败的所有 gem;换句话说,问题已经解决了。万岁!


宝石,截至版本1.3.2,现在将跳过无法构建的 gem,因此将 Rubygems 更新到最新版本,这里讨论的问题应该得到解决。

gem update --system

以下解决方案现已弃用,但我将其留在这里以供记录。

I 就这个问题发起了一个话题在 Ruby 论坛上(它是邮件列表的前端)。有一些有趣的讨论;值得一读。对于这个问题甚至有一个非常hacky的解决方案:

`gem.bat outdated`.split(/\n/).map{|z|z.scan(/^[^[:space:]]+/)}.flatten.each{|z| `gem.bat update #{z}`}

它称为gem outdated命令并构建所有过时 gem 的列表。然后它迭代列表并调用gem update对于每一个过时的宝石。如果一个失败,它就会转移到下一个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 上的 Gem 更新 - 它坏了吗? 的相关文章

随机推荐

  • 如何使用 python 建立 TLS 连接?

    我想创建到服务器的 TLS 连接 然后 我想发送一些加密的数据到服务器 我知道主机名和端口并且有证书 令人惊讶的是 我还收到了服务器的私钥 但是 我认为我收到私钥是不正常的 第一个问题那我真的需要私钥来建立 TLS 连接吗 顺便说一句 我正
  • UTL_FILE.FOPEN() 过程不接受目录路径?

    我正在尝试写入存储在 c 驱动器中名为 vin1 txt 的文件 并收到此错误 请提出建议 gt ERROR at line 1 ORA 29280 invalid gt directory path ORA 06512 at gt SYS
  • 准备好的语句已经存在

    我正在尝试将 ruby 中的准备好的语句与 pg gem 一起使用 这就是我的声明的样子 conn prepare insert values insert into objectName headerStr values prep val
  • 在 C 中将指针传递给只读函数

    正如标题所说 我可以将指针传递给函数 使其只是指针内容的副本吗 我必须确保该功能不会编辑内容 非常感谢 Yes void function int const ptr int i ptr i wrong expression will ge
  • Android 中如何给图片添加圆角?

    我想将加载的图像更改为圆角 您知道什么提示 教程 最佳实践吗 为了获得更受控制的方法 绘制一个圆角矩形并使用绘画的 porter duff Xfer 模式将其遮罩到图像上 首先设置 Xfer 绘制和圆角位图 Bitmap myCoolBit
  • Java Swing 中的自动完成文本框

    有没有现成的Java Swing组件可以用来实现自动完成文本框 这是一个没有下拉选择的自动完成示例 仅当找到唯一匹配项时 它才会自动为您完成 完成内容会自动插入到文本字段中并被选中 有点类似于 Safari 地址字段的工作方式 该解决方案可
  • 将值与 null 进行比较。为什么这是真的?

    Why is isTRUE NULL 2 1 FALSE 我如何收到 TRUE 在我的实际情况中 我有变量 如果值不同 我想处理一些东西 然而 当一个值为 NULL 时 我不认为它们是不同的 正如 Roland 指出的 我们不能直接执行任何
  • 如何以“0000012”的格式显示数字“12”

    如何使用C 以 0000012 的格式显示数字 12 var str string Format 0 d7 12
  • 按下时查看按下时查看:按下时更改背景颜色?如何显示视图正在被按下?

    目前 我有一个带有 9 块图像作为边框的自定义视图 该自定义视图在 LinearLayout 中放置了三次 因此它看起来像这样 CustomView CustomView CustomView 我已将单击事件侦听器附加到视图 因此它是可单击
  • Apache Pig:使用 hadoop fs -text 加载显示正常的文件

    我有名为 part r 000 0 9 0 9 的文件 其中包含制表符分隔的字段 我可以使用查看它们hadoop fs text part r 00000但无法使用 Pig 加载它们 我尝试过的 x load part r 00000 du
  • 如何将

    我怎样才能做到这一点 我对 Java 和 Android 还很陌生 并且遇到了上述问题 当我将表情符号粘贴到 xml 文件中时 它会显示一个白色方块和另一个奇怪的字符 该字符 复制 下一个字符 关于如何解决这个问题有什么想法吗 您可以将表情
  • String.Format 参数顺序的烦恼

    C 似乎强迫您显式命名 String Format 中每个参数的索引 这真的很烦人 如果您想在某处添加另一个参数 您要么必须重新索引字符串 要么将新参数放在末尾 有没有办法让 C 自动执行此操作 例如 我知道这是毫无意义的学究 这只是一个例
  • FF /4 中的 /4 是什么意思?

    我发现的一个网站通常指的是x86 文档有一些带有斜杠和数字的指令代码 例如 jmp接近绝对间接给出FF 4 然而jmp远绝对间接给出FF 5 做什么的 4 and 5 mean 为了运行一个快速的小测试 我附加了一个 32 位进程 分配了一
  • Ext js 按内容对自定义列进行排序

    我在 ext 中有一个带有一些自定义列的网格 我希望能够对此列进行排序 我想按其中显示的内容对其进行排序 但实际上我只是不知道如何为列定义排序器这不会基于 dataIndex 我尝试使用自定义模型 但我无法让它工作 text Parent
  • Mono Mkbundle 是否生成本机代码

    Mono 生成的普通 EXE 在 IL 中 我想生成本机可执行文件 使用 mkbundle 生成本机 Exe 还是应该使用 Mono AOT 是的 mkbundle 生成本机可执行文件 例如 在 Linux 上 这是我的 NET 程序集 f
  • 如何使用 dotnet Standard 访问 Azure Function App ConnectionString

    我的Azure Function App定义了ConnectionString 我想从用 dotnet standard 2 0 编写的 C 函数中检索它 我尝试过添加System Configuration ConfigurationMa
  • 检测鼠标是否位于列边框上方

    有谁知道如何通过 jQuery 或 JavaScript 检测鼠标是否位于列边框或单元格边框上 我想在特定表上实现列大小调整 任何帮助表示赞赏 您应该检查 offsetX 和 offsetY 是否小于边框宽度 如果是 则您在边框中 还要检查
  • 如何在 3D 散点图中添加平面

    使用 Blender 创建了这个模型 可以在A形框架中看到这个链接 这个模型很棒 它概述了我在这里想要完成的任务 基本上 我没有名字 而是用点来象征一个特定的平台 在我看来 以当前最先进的水平实现这一目标的最佳方法是通过Plotly 3D
  • FB.getLoginStatus 从不触发 Facebook 的 JavaScript SDK 中的回调函数

    打电话很简单FB init 就在之前 进而FB getLoginStatus callback 不触发回调函数 经过一些调试 我认为 SDK 停留在 正在加载 即FB Auth loadState loading 阶段并且永远不会进入 已加
  • Windows 上的 Gem 更新 - 它坏了吗?

    这是后续这个问题 当我发出gem updateWindows 上的命令 每当它到达 gem 的最新版本没有 Windows 二进制文件 它会尝试 构建本机扩展当然会失败 例如 Updating sqlite3 ruby Building n