在尝试捆绑安装和安装therubyracer时,我已经厌倦了错误。 我已经尝试了网络上的所有内容,但没有任何帮助。 已经安装了libv8和x代码设置。 感谢您的帮助!
在命令sudo gem install therubyracer -v '0.12.3'
之后,我收到错误消息:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.6.0/gems/therubyracer-0.12.3/ext/v8
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20191219-41979-115mu26.rb extconf.rb
checking for -lpthread... yes
checking for -lobjc... yes
checking for v8.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME)
--with-pthreadlib
--without-pthreadlib
--with-objclib
--without-objclib
--enable-debug
--disable-debug
--with-v8-dir
--without-v8-dir
--with-v8-include
--without-v8-include=${v8-dir}/include
--with-v8-lib
--without-v8-lib=${v8-dir}/lib
/Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:50:in `configure': By using --with-system-v8, you have chosen to use the version (Libv8::Location::System::NotFoundError)
of V8 found on your system and *not* the one that is bundled with
the libv8 rubygem.
However, your system version of v8 could not be located.
Please make sure your system version of v8 that is compatible
with 3.16.14.19 installed. You may need to use the
--with-v8-dir option if it is installed in a non-standard location
from /Library/Ruby/Gems/2.6.0/gems/libv8-3.16.14.19/lib/libv8.rb:7:in `configure_makefile'
from extconf.rb:32:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/therubyracer-0.12.3/mkmf.log
extconf failed, exit code 1 ```
答案 0 :(得分:5)
我在同一问题上陷入困境,并从此gist获得了帮助。
brew install v8@3.15
gem install libv8 -v 'YOUR_VERSION' -- --with-system-v8
gem install therubyracer -v 'YOUR_VERSION' -- --with-v8-dir=/usr/local/opt/v8@3.15
bundle install
我正在使用macOS Catalina版本10.15.3和ruby版本2.6.3。希望对您有所帮助!
答案 1 :(得分:4)
我已经找到解决此错误的方法。
如果您对^\s*(\d{2}|\d{0})[-. ]?(\d{5}|\d{4})[-. ]?(\d{4})[-. ]?\s*$
有疑问,请检查以下内容:
bundle install
经过数小时与我能找到的解决方案的斗争,它对我有用。 希望能对某人有所帮助。
答案 2 :(得分:0)
卸载v8
并在全新的Catalina安装上安装v8@3.15
对我来说很有效。
$ brew uninstall v8
$ brew install v8@3.15
答案 3 :(得分:0)
我最近在Mac OS 10.15.7中也遇到了同样的问题
brew install v8-315
gem install libv8 -v '3.16.14.19' -- --with-system-v
gem install therubyracer -v '0.12.3' -- --with-system-v8 --with-v8-dir=/usr/local/opt/v8@3.15
注意:在安装ruby race时,仅在将两个选项--with-system-v8和--with-v8-dir放在一起并指向该目录后才安装。 在安装之前,请确保该文件夹中是否存在该文件夹。