NoMethodError:未定义的方法“名称”对于“RedCloth”:字符串,由于 ruby​​/config.h 错误而无法运行 make

发布于 2024-11-29 11:58:24 字数 1947 浏览 8 评论 0原文

我尝试了 rails 控制台、RVM 和 readline 的问题 因为当我尝试运行 Rails 或 Rails 控制台时,我收到 NoMethodError: undefined method `name' for "RedCloth":String

当我尝试按照其他帖子中的步骤进行操作时,我收到错误因为我得到

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼眸印温柔 2024-12-06 11:58:24

我也有同样的问题。
如果您使用的是 Fedora,您可能需要安装 readline-devel。这应该可以让你找到 readline.h 等。
当你创建你的 Makefile 时,使用这个:

rvm 1.9.2 ruby extconf.rb

而不是仅仅:

ruby extconf.rb

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:

rvm 1.9.2 ruby extconf.rb

instead of just:

ruby extconf.rb
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文