当我这样做的时候:
ruby extconf.rb我得到了:
extconf.rb:24:in 'require': no such file to load -- mkmf (LoadError)当我启动irb并逐行执行extconf.rb中的所有命令时,它工作得很好(包括require 'mkmf')。
当irb显然可以找到mkmf时,我如何告诉ruby在哪里可以找到它。我从源代码(1.9.1)编译ruby,它安装在“非标准位置”。
发布于 2012-02-06 09:43:51
ruby二进制文件缺少一些$LOAD_PATH,它甚至可能是系统irb和自定义ruby之间的冲突。
在任何情况下,您都可以比较ruby -e 'p $:'和在irb中运行p $:的输出...
当您找到缺少的目录时,您可以将其添加到命令行中,如下所示:
$ ruby -I/path/to/missing/loadpath extconf.rb尽管我强烈建议正确地重新安装ruby,因为这很可能指向一个更深层次的问题,而不仅仅是在这种情况下缺少装入路径。
顺便说一句,通过RVM安装ruby怎么样?它是无痛的,在大多数设置上都能完美地工作。更不用说你可以在同一台机器上使用多个Ruby版本而不会发生任何冲突。
https://stackoverflow.com/questions/9154706
复制相似问题