ruby-on-rails – 捆绑exec rake资产:预编译

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 捆绑exec rake资产:预编译前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直试图让RoR与Passenger和Nginx一起工作.男人是一场冒险.我终于得到了服务器运行,它正在托管一个测试网站,很好.我遇到了资产错误.我无法使用bundle exec rake资源编译application.js:precompile.以下是–trace的结果:
$bundle exec rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/Users/pstachof/.rvm/rubies/ruby-1.9.3-head/bin/ruby /Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
rake aborted!
TypeError: 'undefined' is not a function (evaluating 'define.globalDomain.require.bind(define.globalDomain)')
  (in /Users/pstachof/.webserver/sites/stachtest1/app/assets/javascripts/application.js)
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:68:in `extract_result'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:27:in `exec'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/uglifier-2.0.1/lib/uglifier.rb:167:in `really_compile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/uglifier-2.0.1/lib/uglifier.rb:95:in `compile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/compressors.rb:74:in `compress'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/processing.rb:265:in `block in js_compressor='
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/processor.rb:29:in `call'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/processor.rb:29:in `evaluate'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/tilt-1.3.7/lib/tilt/template.rb:77:in `render'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/context.rb:193:in `block in evaluate'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/context.rb:190:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/context.rb:190:in `evaluate'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/bundled_asset.rb:26:in `initialize'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:252:in `new'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:252:in `build_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/index.rb:93:in `block in build_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/caching.rb:19:in `cache_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/index.rb:92:in `build_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:169:in `find_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/index.rb:60:in `find_asset'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/static_compiler.rb:19:in `block in compile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:219:in `block in each_logical_path'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:206:in `block (2 levels) in each_file'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:196:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:196:in `each_entry'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:204:in `block in each_file'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:203:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:203:in `each_file'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/sprockets-2.2.2/lib/sprockets/base.rb:217:in `each_logical_path'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/static_compiler.rb:18:in `compile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:56:in `internal_precompile'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:70:in `block (3 levels) in <top (required)>'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/Users/pstachof/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:60:in `block (3 levels) in <top (required)>'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/Users/pstachof/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/bin/rake:23:in `load'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/bin/rake:23:in `<main>'
Tasks: TOP => assets:precompile:primary
rake aborted!
Command Failed with status (1): [/Users/pstachof/.rvm/rubies/ruby-1.9.3-hea...]
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in `call'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/file_utils.rb:45:in `sh'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:37:in `sh'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/file_utils.rb:80:in `ruby'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/file_utils_ext.rb:37:in `ruby'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:12:in `ruby_rake_task'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/gems/actionpack-3.2.13/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/Users/pstachof/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `each'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/bin/rake:23:in `load'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head@global/bin/rake:23:in `<main>'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/bin/ruby_noexec_wrapper:14:in `eval'
/Users/pstachof/.rvm/gems/ruby-1.9.3-head/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => assets:precompile

如果我在config / environments / production.rb中设置config.assets.compile = true并重新启动服务器重新加载该站点,我会在production.log中收到以下内容

Connecting to database specified by database.yml
Started GET "/" for 98.156.89.130 at 2013-04-23 22:45:35 -0500
Processing by HomeController#welcome as HTML
  Rendered home/welcome.html.erb within layouts/application (10.7ms)
Completed 500 Internal Server Error in 77ms

ActionView::Template::Error (application.js isn't precompiled):
    3: <head>
    4:   <title>Stachtest1</title>
    5:   <%= stylesheet_link_tag    "application",:media => "all" %>
    6:   <%= javascript_include_tag "application" %>
    7:   <%= csrf_Meta_tags %>
    8: </head>
    9: <body>
  app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__451492169_16346550'

如果我从assets / javascript目录中删除application.js文件(我根本没有修改过),并且编译一切顺利.我也尝试使用assests / javascript目录中的文件进行编译,但删除了所有的文本,它仍然失败.

我正在使用rails 3.2.13,ruby 1.9.3,并在本地安装了以下宝石

*** LOCAL GEMS ***

actionmailer (3.2.13)
actionpack (3.2.13)
activemodel (3.2.13)
activerecord (3.2.13)
activeresource (3.2.13)
activesupport (3.2.13)
arel (3.0.2)
bigdecimal (1.1.0)
builder (3.0.4)
bundler (1.3.5)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.6.2)
daemon_controller (1.1.2)
erubis (2.7.0)
execjs (1.4.0)
fastthread (1.0.7)
hike (1.2.2)
i18n (0.6.1)
io-console (0.3)
journey (1.0.4)
jquery-rails (2.2.1)
json (1.7.7,1.5.5)
mail (2.5.3)
mime-types (1.23)
minitest (2.5.1)
multi_json (1.7.2)
passenger (3.0.19)
polyglot (0.3.3)
rack (1.4.5)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.13)
railties (3.2.13)
rake (10.0.4,0.9.2.2)
rdoc (3.12.2,3.9.5)
rubygems-bundler (1.1.1)
rvm (1.11.3.7)
sass (3.2.8)
sass-rails (3.2.6)
sprockets (2.2.2)
sqlite3 (1.3.7)
thor (0.18.1)
tilt (1.3.7)
treetop (1.4.12)
tzinfo (0.3.37)
uglifier (2.0.1)

这是application.js文件

// This is a manifest file that'll be compiled into application.js,which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory,lib/assets/javascripts,vendor/assets/javascripts,// or vendor/assets/javascripts of plugins,if any,can be referenced here using a relative path.
//
// It's not advisable to add code directly here,but if you do,it'll appear at the bottom of the
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED,ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require_tree

当我继续玩这个设置时,我发现尽管它在资源/ javascript目录中编译了没有application.js文件的资源,但似乎css正在正确编译,刷新后不会在网页上显示服务器和站点.如果我把风格直接放在网页中,就像它一样渲染.

以下是相关的文件
application.html.erb

<!DOCTYPE html>
<html>
<head>
  <title>Stachtest1</title>
  <%= stylesheet_link_tag    "application",:media => "all" %>
  <%= csrf_Meta_tags %>
</head>
<body>
    <div id="content">
        Does this work...
    </div>

    <%= yield %>

    <div style="border: 1px solid #000;">
        This is a test to see about some styles
    </div>
</body>
</html>

资产/样式表/ application.css

.content
{
    border: 1px solid #999;
    padding: 5px;
}

公共/ application.css

.content{border:1px solid #999;padding:5px}

我不知道这是否是一个单独的问题,如果是这样,我可以拉出来,但想添加它,以防万一.

我已经达到了我的想法的尽头.任何想法或建议将不胜感激.如果我没有任何信息,请让我知道,我可以尽可能地填补空白.

谢谢,
帕特里克

解决方法

尝试:
//= require_tree .

代替

//= require_tree

点在最后.喜欢在指导:http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives

猜你在找的Ruby相关文章