bundle install
与Make sure that `gem install therubyracer -v '0.12.1'` succeeds before bundling
一起失败
gem install therubyracer -v '0.12.1'
失败,错误似乎与编译有关
在此之前,libv8gem曾出现问题,但由于下面的SO帖子,现在已经安装了。
由于El Capitan的变化,小牛队修复rubyracer的指南似乎不起作用?
ln: /usr/bin/cpp: Operation not permitted
- 通过应用商店安装xcode
- 为xcode(
xcode-select --install
)安装"命令行工具" - 如果使用rbenv,则在安装ruby后需要
rbenv rehash
-
假设您已经运行了
gem install bundler
并出现错误,请删除您的烂摊子:gem uninstall libv8 gem uninstall therubyracer brew rm v8
-
安装gcc4.2
brew tap homebrew/dupes brew install apple-gcc42
-
安装v8
brew tap homebrew/versions brew install v8-315 brew link --force v8-315
-
安装gems
gem install libv8 -- --with-system-v8 gem install therubyracer
如果你得到
dyld: lazy symbol binding failed: Symbol not found
,@rpbaltazar建议一个替代方案:bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2 bundle install
我对@xxjjnn的回答仍然有问题。github的以下答案解决了这个问题。我目前的设置:El Capitan 10.11.4和Xcode 7.3。
brew tap homebrew/versions
brew install v8-315
gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315
bundle install
therubyracer
Github页面上提供的答案对我有效:
brew tap homebrew/versions
brew install v8-315
brew link --force v8-315
gem install libv8 -- --with-system-v8
gem install therubyracer
我将gem therubyracer更新为0.12.2,然后在rails存储库中运行以下命令:
$ brew install v8-315
$ bundle config --local build.libv8 --with-system-v8
You are replacing the current local value of build.libv8, which is currently nil
$ bundle config --local build.therubyracer --with-v8-dir=$(brew --prefix v8-315)
You are replacing the current local value of build.therubyracer, which is currently nil
最后是
bundle install
我知道这个问题是专门关于安装therubyracer-v'0.12.1'的,但解决方案实际上是升级到'1.12.2'
我在一些项目中遇到过这种情况,但总是忘记了这一点。最后我想起来了,一切都好了。
一旦你不需要bundle config --delete build.libv8
,一定要清除你添加到bundle config
中的任何内容。
以下是关于这一点的gem回购帖子:https://github.com/cowboyd/therubyracer/issues/398#issuecomment-238161167
在运行已接受的答案后,我遇到了评论中描述的错误。
我发现对我有帮助的解决方案是运行以下
gem uninstall libv8
gem uninstall therubyracer
bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2
bundle install
请注意,接受答案的初始步骤是必要的,即安装编译器。
实际上,apple-gcc42
已从酿造中删除:
apple-gcc42在提交bcba321ea:时从自制程序/核心中删除
相反,我安装了gcc@4.9
所以,按照xxjjnn的答案,而不是5只运行:
brew install gcc@4.9
首先尝试删除Gemfile.lock并再次运行bundle install
。将再次创建Gemfile.lock。
这将适用于El Capitan的大多数情况。
否则,它只会安装Gemfile.lock中提到的相同版本。如果您删除此文件,bundle install
将获取您的gem的最新版本。
如果以上任何一项都不适用,请遵循这些家伙的建议。卸载所有相关的东西并升级gcc为我修复了它。
Gem install therubyracer-v';0.11.4';?
如果你可以切换到迷你赛车,安装或更新它对我来说很有效,类似于这个后
如何修复libv8坏版本错误
TL;DR bundle update mini_racer