NoMethodError:未定义的方法“名称”对于“RedCloth”:字符串,由于 ruby/config.h 错误而无法运行 make
当我尝试按照其他帖子中的步骤进行操作时,我收到错误因为我得到
durrantm@michael-laptop:~/.rvm/src/ruby-1.9.2-p180/ext/readline$ make install
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_RL_GETC_FUNCTION -DHAVE_RL_FILENAME_COMPLETION_FUNCTION -DHAVE_RL_USERNAME_COMPLETION_FUNCTION -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_REFRESH_LINE -DHAVE_RL_DEPREP_TERM_FUNCTION -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_BASIC_WORD_BREAK_CHARACTERS -DHAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS -DHAVE_RL_BASIC_QUOTE_CHARACTERS -DHAVE_RL_COMPLETER_QUOTE_CHARACTERS -DHAVE_RL_FILENAME_QUOTE_CHARACTERS -DHAVE_RL_ATTEMPTED_COMPLETION_OVER -DHAVE_RL_LIBRARY_VERSION -DHAVE_RL_EDITING_MODE -DHAVE_RL_LINE_BUFFER -DHAVE_RL_POINT -DHAVE_RL_EVENT_HOOK -DHAVE_RL_CATCH_SIGWINCH -DHAVE_RL_CATCH_SIGNALS -DHAVE_RL_CLEANUP_AFTER_SIGNAL -DHAVE_RL_CLEAR_SIGNALS -DHAVE_RL_SET_SCREEN_SIZE -DHAVE_RL_GET_SCREEN_SIZE -DHAVE_RL_VI_EDITING_MODE -DHAVE_RL_EMACS_EDITING_MODE -DHAVE_REPLACE_HISTORY_ENTRY -DHAVE_REMOVE_HISTORY -DHAVE_CLEAR_HISTORY -I/home/durrantm/.rvm/usr/include -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC -c readline.c
readline.c:22: fatal error: **ruby/config.h**: No such file or directory
compilation terminated.
make: *** [readline.o] Error 1
仅供参考:
durrantm@michael-laptop:~/.rvm/src/ruby-1.8.7-p334/ext/readline$ ruby extconf.rb && make install
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... no
checking for editline/readline.h... no
make: Nothing to be done for `install'.
durrantm@michael-laptop:~/.rvm/src/ruby-1.8.7-p334/ext/readline$
I tried the steps in Problems with the rails console, RVM and readline because when I try to run rails or rails console I get a NoMethodError: undefined method `name' for "RedCloth":String
When I try following the steps in the other posts I get a error doing the make because I get
durrantm@michael-laptop:~/.rvm/src/ruby-1.9.2-p180/ext/readline$ make install
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_RL_GETC_FUNCTION -DHAVE_RL_FILENAME_COMPLETION_FUNCTION -DHAVE_RL_USERNAME_COMPLETION_FUNCTION -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_REFRESH_LINE -DHAVE_RL_DEPREP_TERM_FUNCTION -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_BASIC_WORD_BREAK_CHARACTERS -DHAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS -DHAVE_RL_BASIC_QUOTE_CHARACTERS -DHAVE_RL_COMPLETER_QUOTE_CHARACTERS -DHAVE_RL_FILENAME_QUOTE_CHARACTERS -DHAVE_RL_ATTEMPTED_COMPLETION_OVER -DHAVE_RL_LIBRARY_VERSION -DHAVE_RL_EDITING_MODE -DHAVE_RL_LINE_BUFFER -DHAVE_RL_POINT -DHAVE_RL_EVENT_HOOK -DHAVE_RL_CATCH_SIGWINCH -DHAVE_RL_CATCH_SIGNALS -DHAVE_RL_CLEANUP_AFTER_SIGNAL -DHAVE_RL_CLEAR_SIGNALS -DHAVE_RL_SET_SCREEN_SIZE -DHAVE_RL_GET_SCREEN_SIZE -DHAVE_RL_VI_EDITING_MODE -DHAVE_RL_EMACS_EDITING_MODE -DHAVE_REPLACE_HISTORY_ENTRY -DHAVE_REMOVE_HISTORY -DHAVE_CLEAR_HISTORY -I/home/durrantm/.rvm/usr/include -D_FILE_OFFSET_BITS=64 -fPIC -fno-strict-aliasing -g -g -O2 -fPIC -c readline.c
readline.c:22: fatal error: **ruby/config.h**: No such file or directory
compilation terminated.
make: *** [readline.o] Error 1
fyi:
durrantm@michael-laptop:~/.rvm/src/ruby-1.8.7-p334/ext/readline$ ruby extconf.rb && make install
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... no
checking for editline/readline.h... no
make: Nothing to be done for `install'.
durrantm@michael-laptop:~/.rvm/src/ruby-1.8.7-p334/ext/readline$
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也有同样的问题。
如果您使用的是 Fedora,您可能需要安装 readline-devel。这应该可以让你找到 readline.h 等。
当你创建你的 Makefile 时,使用这个:
而不是仅仅:
I had the same problem.
If you're using Fedora, you might want to install readline-devel. That should let you find readline.h, etc.
When you create your Makefile, use this:
instead of just: