没装rails,安装步骤完全按照http://zhujg.iteye.com/blog/355040
到make && make install时完全正常,ruby安装完后可以正常执行程序。但是一执行gem install xxx就报错:no such file or directory -\usr\local\lib\ruby\site_ruby\1.9.1\i386-cygwin\digest\md5.so。经多次检查md5.so这个文件是确实存在的,而且路径也完全正确。我的cygwin安装在D盘,完整路径是D:\Cygwin\usr\local\lib\ruby\site_ruby\1.9.1\i386-cygwin\digest\md5.so, Cygwin.bat在D:\Cygwin下。
报错图片见附件。请各位help help me,这个问题已经困扰了我好几个月了。
再提供两个想法:
可能你得把
D:\cygwin\usr\local\lib\ruby\site_ruby\1.9.1\i386-cygwin
清空? (别忘了备个份)
或者将 rubygems 更新到 1.3.4 (选 tgz 的)
[url]http://rubyforge.org/frs/?group_id=126&release_id=35061[/url]
解压后在 cygwin 下运行 ruby setup.rb
正确的路径应该是:
D:\cygwin\usr\local\lib\ruby\1.9.1\i386-cygwin\digest\md5.so
吧? 不含 site_ruby 的。你把 site_ruby 里的 md5.so 复制到上面这个路径试试
还有个解决方法是: 打开 D:\cygwin\usr\local\lib\ruby\1.9.1\digest\md5.rb
把第 8 行的 require 'digest/md5' 改成你的 md5.so 所在的位置。路径相对于 lib 目录。 譬如如果你把 md5.so 放在了 lib 目录下,那么 require 'md5' 即可。
补充,如果用第二个方法,改成 require 'md5.so' 准确点
不好意思漏打了 rubygems ……
可是我的电脑上,
D:\cygwin\usr\local\lib\ruby[color=blue]site_ruby[/color]\1.9.1\i386-cygwin
是空的……
暴力点把 md5.rb 里面的 require 'digest/md5' 改成
[code="ruby"]require '/usr/local/lib/ruby/1.9.1/i386-cygwin/digest/md5.so'[/code]
试试…… 再不行就换 ruby 1.9.1 p129 再做一遍吧……
题外:再不行,就用回稳定的 1.8.x …… 而且 1.8.x 也还在持续更新。