gpt4 book ai didi

ruby - Guid 导致 "Can' t 找到随机设备”

转载 作者:数据小太阳 更新时间:2023-10-29 08:53:46 24 4
gpt4 key购买 nike

我正在尝试使用 Guid 在我的 Ruby 项目中生成唯一 ID。这是我为测试其功能而创建的示例 ruby​​ 文件:

require 'guid'
g = Guid.new
puts g

当我运行这个文件时,我得到这个错误。

E:/Apps/Ruby186/lib/ruby/site_ruby/1.8/guid.rb:67:in `initialize': Can't find random device (Runtime Error)
from guid_test.rb:3:in `new'
from guid_test.rb:3

这可能是什么原因?我在 Windows 7(64 位)机器上使用 Ruby。

最佳答案

根据 http://www.koders.com/ruby/fid47791138EC0592EEEF2FC1F55408231838DF7CA4.aspx?s=game , guid 源代码通过检查操作系统的类型

if RUBY_PLATFORM =~ /win/i
module Guid_Win32_
require 'Win32API'

显然,在您的情况下(Windows 7 64 位),此检查失败(RUBY_PLATFORM 返回其他内容(例如 i386-mingw32 用于我在 Windows7 64 位上安装的 Ruby 1.9)),并且它尝试使用 Unix 代码,然后尝试打开/dev/urandom - 这失败了。

因此您可以检查 RUBY_PLATFORM 在您的操作系统上返回的内容,修改 guid.rb 源代码并将补丁发送给开发人员以便他们修复它。

关于ruby - Guid 导致 "Can' t 找到随机设备”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6579787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com