我正在尝试在 FreeBSD 服务器上部署 Rails 应用程序。但是,当我尝试编译 Assets 时,出现了这个奇怪的错误:
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 错误吗?我几乎不这么认为。 Assets 在 Ubuntu 上编译成功。我用谷歌搜索了它(很多)并没有找到任何东西。
我认为这可能与
therubyracer
gem 有关。我正在使用 therubyracer-freebsd
gem,但我已经尝试了这两种方法,错误并没有消失。谢谢你的帮助。
最佳答案
看起来像是 therubyracer 中的一个问题。你可以安装 node.js 并从你的 Gemfile 中删除这个 gem。
按照这个:https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#freebsd-and-openbsd
关于ruby-on-rails - 在 FreeBSD 上编译 Assets 时出现堆栈一致性错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23330768/