我安装了fusefs-osx 0.7.0 gem,但示例脚本没有安装。我试过hello.rb和yamlfs.rb。脚本不会中止,并且挂载点的Finder图标将更改为已挂载的磁盘,但我无法访问内容。如果我尝试“ls”,我会收到“输入/输出错误”。
在ruby进程上运行lsof表明加载了gem的fusefs_lib.bundle和/opt/local/lib/libfuse_ino64.2.dylib。 “/ dev / fuse0”也在列表中。
lsof也会出现此错误:
lsof: WARNING: can't stat() fusefs file system /fusefs/rb_hello
Output information may be incomplete.
assuming "dev=2d00000b" from mount table
“mount”命令显示(用户名已省略):
ruby@fuse0 on /fusefs/rb_hello (fusefs, nodev, nosuid, synchronous, mounted by ...)
当我按下ctrl-C脚本时,我必须手动卸载该点。
系统信息:
Leopard 10.5.8
ruby enterprise 1.8.7-2011.03 (i386 only)
libfuse 2.7.3 installed via Macports
我也尝试在系统ruby上安装gem,但我得到了相同的结果。
谷歌没有提出任何有关此问题的结果。
答案 0 :(得分:0)
好吧,在gem的ext目录中查看,并查看fuse-python脚本的lsof输出后,我找到了一个解决方法。基本上,我像这样编辑了extconf.rb:
$ diff extconf.rb.orig extconf.rb
3c3
< if have_library('fuse_ino64') || have_library('fuse')
---
> if have_library('fuse')
然后运行:
make clean
ruby extconf.rb
make
然后将fusefs_lib.bundle复制到lib目录。这实际上并不需要,因为gem始终从ext目录加载。
我想我读过Snow Leopard需要ino64版本的地方。