我已经制作了一个Rails 3.1 PoC应用程序,它通过改编railstutorial.org书中的示例也使用了haml,并且在本地一切正常。
但是,当我尝试推送到heroku时,therubyracer无法在服务器(full output)上构建:
Installing therubyracer (0.8.2) with native extensions /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
我的Gemfile非常标准,因此,如果有人可以帮助我了解问题所在,并帮助我找到解决方案,我将不胜感激。
最佳答案
Heroku no longer requires, but strongly discourages使用therubyracer
或therubyracer-heroku
,因为这些gem占用大量内存。
如果使用它们,则下一次部署将失败!
您有2个选择:
将'therubyracer', :platforms => :ruby
添加到group :assets
并升级您的红宝石版本。然后删除您的Gemfile.lock并运行bundle install
。
在本地计算机上运行assets:precompile
并将其推送到heroku(不要忘记从生产中删除therubyracer宝石);
默认情况下,Rails资产管道支持Sass语言。代替rails-bootstrap
gem(LESS),可以使用bootstrap-sass-rails
关于deployment - therubyracer无法在heroku上构建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6259130/