我试图在FreeBSD服务器上部署Rails应用程序。但是,当我尝试编译资产时,我得到了这个奇怪的错误:
bundle exec rake assets:precompile
/home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal.rb:16: [BUG] Stack consistency error (sp: 231, bp: 232)
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-freebsd9.1]
-- Control frame information -----------------------------------------------
c:0062 p:0033 s:0231 e:000231 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal.rb:16
c:0061 p:0007 s:0228 e:000227 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal.rb:22
c:0060 p:0009 s:0225 e:000224 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/function.rb:25
c:0059 p:0013 s:0221 e:000220 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/commonjs-0.2.7/lib/commonjs/environment.rb:28
c:0058 p:0022 s:0218 e:000217 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/commonjs-0.2.7/lib/commonjs/module.rb:10 [FINISH]
c:0057 p:---- s:0213 e:000212 CFUNC :new
c:0056 p:0100 s:0208 e:000205 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/commonjs-0.2.7/lib/commonjs/environment.rb:17
c:0055 p:0045 s:0199 e:000198 LAMBDA /home/user/site/shared/bundle/ruby/2.1.0/gems/commonjs-0.2.7/lib/commonjs/module.rb:18 [FINISH]
c:0054 p:---- s:0194 e:000193 CFUNC :call
c:0053 p:0034 s:0189 e:000188 BLOCK /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal/caller.rb:32
c:0052 p:0006 s:0187 e:000186 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal/caller.rb:11
c:0051 p:0014 s:0182 e:000180 METHOD /home/user/site/shared/bundle/ruby/2.1.0/gems/therubyracer-freebsd-0.10.1/lib/v8/portal/caller.rb:26
...
堆栈跟踪很有用。如果它有帮助,我可以粘贴所有这些。之后,它说:
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
我真的找到了一个Ruby bug吗?我几乎不这么认为。资产在Ubuntu上成功编译。我搜索了很多(很多)并没有找到任何东西。
我认为它可能与therubyracer
宝石有关。我使用的是therubyracer-freebsd
宝石,但我已经尝试了两种宝石,错误并没有消失。
感谢您的帮助。
答案 0 :(得分:2)
在therubyracer中看起来像一个问题。您可以安装node.js并从Gemfile中删除此gem。
请遵循:https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#freebsd-and-openbsd
答案 1 :(得分:0)
主要是therubyracer宝石问题。如果您使用的是bundler,请尝试bundle update therubyracer
,这将更新任何依赖性问题。为我工作。