如何解决gem install mailcatcher失败,并显示-错误:安装mailcatcher时出错:错误:无法构建gem本机扩展
我在macOS Catalina 10.15.7
上,对我使用rbenv(版本rbenv 1.1.2-36-g60c9339
)和ruby verion 2.6.3
(ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin19]
是ruby -v
的输出)项目。
我需要安装mailcatcher来检查我的应用程序生成的电子邮件。
在我的项目文件夹中运行gem install mailcatcher
时,命令失败,并显示以下错误:
➜ gem install mailcatcher
Building native extensions. This Could take a while...
ERROR: Error installing mailcatcher:
ERROR: Failed to build gem native extension.
current directory: /Users/karansapolia/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/thin-1.5.1/ext/thin_parser
/Users/karansapolia/.rbenv/versions/2.6.3/bin/ruby -I /Users/karansapolia/.rbenv/versions/2.6.3/lib/ruby/2.6.0 -r ./siteconf20201103-23665-1tzqkaj.rb extconf.rb
checking for main() in -lc... yes
creating Makefile
current directory: /Users/karansapolia/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/thin-1.5.1/ext/thin_parser
make "DESTDIR=" clean
current directory: /Users/karansapolia/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/thin-1.5.1/ext/thin_parser
make "DESTDIR="
compiling parser.c
parser.rl:112:17: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
assert(pe - p == len - off && "pointers aren't same distance");
~~~~~~ ^ ~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e),0) ? __assert_rtn(__func__,__FILE__,__LINE__,#e) : (void)0)
^
parser.rl:142:7: error: implicit declaration of function 'thin_http_parser_has_error' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (thin_http_parser_has_error(parser) ) {
^
parser.rl:142:7: note: did you mean 'http_parser_has_error'?
./parser.h:44:5: note: 'http_parser_has_error' declared here
int http_parser_has_error(http_parser *parser);
^
parser.rl:144:14: error: implicit declaration of function 'thin_http_parser_is_finished' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
} else if (thin_http_parser_is_finished(parser) ) {
^
1 warning and 2 errors generated.
make: *** [parser.o] Error 1
make Failed,exit code 2
Gem files will remain installed in /Users/karansapolia/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/thin-1.5.1 for inspection.
Results logged to /Users/karansapolia/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/thin-1.5.1/gem_make.out
安装其他宝石可以正常工作。 gem install mailman
运作良好。仅对mailcatcher
失败。
如何安装没有错误的mailcatcher?
解决方法
安装精简解析器似乎有问题,我在github上发现了一个已经打开的问题,这位贡献者提出了一个建议,here。
请确保在安装Mailcatcher之前先安装精简版。
,我运行了Follow命令,它对我有用
gem install mailcatcher---with-cflags =“-Wno-error = implicit-function-declaration”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。