由于LoadError,无法在Cygwin下运行Rails:没有来自digest / md5的此类进程

时间:2010-07-22 20:57:16

标签: ruby-on-rails ruby cygwin

在尝试在Cygwin下运行Rails时,。/ script / server命令产生加载错误,我找不到在Google上搜索的解决方案。我可以在irb中重现此错误,如下所示:

irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'digest/md5'
LoadError: No such process - /usr/lib/ruby/1.8/i386-cygwin/digest/md5.so
        from /usr/lib/ruby/1.8/i386-cygwin/digest/md5.so
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from (irb):2

$ ruby​​ --version ruby 1.8.7(2008-08-11 patchlevel 72)[i386-cygwin]

rails(2.3.8,2.1.0)都失败并出现相同的错误

$ uname -a CYGWIN_NT-5.1 XXXXXX 1.5.25(0.156 / 4/2)2007-12-14 19:21 i686 Cygwin

1 个答案:

答案 0 :(得分:0)

我的问题原来是rubyoci8是针对一个Oracle客户端构建的,而是使用另一个。 我的计算机上有多个Oracle客户端,包括许多完整客户端和一个即时客户端。所有这些都在我的Windows $ PATH上,以及各种其他垃圾。

ruby​​oci8 make程序搜索$ PATH以检测是否安装了完整客户端,然后在另一点使用$ ORACLE_HOME变量 - 我怀疑这种双重搜索可能与问题有关。

我的解决方案是将$ PATH向下(在我的.bash *脚本之一中)清除到基本要素,然后仅包含我需要的完整客户端路径。我将$ ORACLE_HOME设置为相同的位置,重建了rubyoci8,它运行良好。