Tag: 资产管道

Heroku总是运行资产:使用Rails 3.2的生产环境进行预编译

我将Heroku环境设置为暂存,但我的资产始终在生产环境中编译。 这是heroku config : GEM_PATH => vendor / bundle / ruby​​ / 1.9.1 LANG => en_US.UTF-8 PATH => bin:vendor / bundle / ruby​​ / 1.9.1 / bin:/ usr / local / bin:/ usr / bin:/ bin RACK_ENV =>分期 我在production.rb文件中添加了一个例外,因此我知道在编译资产时它正在运行哪个环境。 服务器启动就好了运行heroku run console显示我正在运行升级。 它只是在运行assets:precompile它始终在生产中。 如果需要,我很乐意发布任何其他配置文件。 我可以补充一点,我在Heroku上运行Rails 3.2.2和Cedar堆栈 来自heroku run rake about输出heroku run rake about : 关于您的应用程序的环境 […]

“预编译资产时,命令失败,状态为()”

在生产高效的盒子上编译资产时,我遇到了类似很多用户的类似问题。 唯一的区别是我无法从跟踪中得到任何提示来解决问题。 rake assets:precompile RAILS_ENV=production –trace ** Invoke assets:precompile (first_time) ** Execute assets:precompile /usr/local/rbenv/versions/1.9.3-p362/bin/ruby /usr/local/rbenv/versions/1.9.3-p362/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 […]

“heroku运行rake资产:干净”不会清理任何东西

我执行 $ heroku run rake assets:clean Running `rake assets:clean` attached to terminal… up, run.2 /usr/local/bin/ruby /app/vendor/bundle/ruby/1.9.1/bin/rake assets:clean:all RAILS_ENV=production RAILS_GROUPS=assets rm -rf /app/public/assets 但由于我可以通过http请求访问资产,因此看起来它看起来不起作用,如果我打开一个heroku控制台,我可以看到这些文件: $ heroku run console irb(main):013:0> Dir.glob “./public/assets/*” => [“./public/assets/img”, “./public/assets/application.js.gz”, “./public/assets/application.js”, “./public/assets/rails.png”, “./public/assets/manifest.yml”, “./public/assets/application.css”, “./public/assets/assets”, “./public/assets/application.css.gz”] 我需要删除资产,因为它们与我的新配置产生冲突。

蓝图css中的资产预编译错误 – ActionView :: Template :: Error(blueprint / screen.css未预编译) – 内部服务器错误500

我正在尝试部署rails应用程序,但我遇到了资产预编译错误。 根据生产日志,错误是由名为screen.css的“Blueprint”css脚本引起的(如下面的错误输出中所示)。 但是根据生产日志,这个资产实际上确实得到了预编译。 我试过在application.rb和config / environments / production.rb文件中明确地将screen.css和print.css添加到预编译数组中,如下所示 config.assets.precompile = %w(screen.css print.css) 但无济于事。 我也试过在本地预编译我的资产并将整个事情推送到服务器。 我已经尝试了这里概述的所有建议: blueprint / screen.css没有预编译 ,这里: blueprint css rails 3.1 help和同样的问题在这里仍未解决: Ruby on Rails 3.2编译资产不能正常工作 我不知道接下来要尝试什么来解决这个错误。 任何帮助将非常感谢! 下面的日志输出以及我的部署文件,cap文件和application.rb文件。 提前感谢您提出的任何建议! 以下是部署后日志文件的一些输出,您可以看到screen.css已预编译。 错误输出如下: Compiled application.js (5ms) (pid 16431) Compiled jquery.js (2ms) (pid 16431) Compiled jquery_ujs.js (0ms) (pid 16431) Compiled microposts.js (94ms) (pid 16431) Compiled […]

通过构建所有asset_path值来避免使用* .js.erb文件

因此,我希望避免使用ERB处理JavaScript文件,这样我就可以获得适当的资产路径,例如图像。 目前,这似乎是流行的方法: var myImage = “”; 当然,这需要将文件名更改为“* .erb”,以便进行处理。 我更倾向于将ERB丑陋与我项目中的一个点隔离,制作一个清单文件(例如“assets.js.erb”)来计算并提供我需要的所有资产路径。 我当然可以通过逐案解决来做到这一点: ASSETS = “my_image”: “” window.assetPath = (path) -> ASSETS[path] 但是,我真的只是编写一些ERB来递归我的所有asset_paths.asset_environment.paths并为我构建一个大对象文字清单,这样我真正的应用程序JavaScript就可以自信地调用: var myImage = assetPath(‘my_image’); 关于(1)是否有更容易的方法来做我错过的任何想法,或者(2)我如何完成对asset_path的所有潜在有效参数的asset_path ?

Rails 5.1.2引导程序图标未在生产中提供

这是一个很棒的地方。 我希望很快能够胜任,提供解决方案。 请有人帮忙!!?! 我已经看了几个小时的youtube并阅读了关于网上资产管道预编译的每篇文章。 无论出于何种原因,我决定使用Rails 5.1.2,我不知道这是不是问题。 glyphicons不会在Heroku上渲染或使用 rails s -e production 在我当地的ubuntu上。 我打字 rake assets:precompile RAILS_ENV=production 得到 I, [2018-01-01T16:05:07.261287 #4745] INFO — : Writing /home/dracos/rails/video-store/public/assets/glyphicons-halflings-regular-e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456.ttf I, [2018-01-01T16:05:07.261968 #4745] INFO — : Writing /home/dracos/rails/video-store/public/assets/glyphicons-halflings-regular-e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456.ttf.gz I, [2018-01-01T16:05:07.263049 #4745] INFO — : Writing /home/dracos/rails/video-store/public/assets/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff I, [2018-01-01T16:05:07.264510 #4745] INFO — : Writing /home/dracos/rails/video-store/public/assets/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2 I, [2018-01-01T16:05:07.289833 #4745] INFO — : […]

Rails资产管道中的静态html模板文件和开发模式下的缓存

我正在使用AngularJS和Rails构建一个网站。 我用于模板的HTML文件存储在/ app / assets / templates下,每次更新路径或更改模板内部嵌套部分内的内容时,我都需要“触摸”最高级别的文件。我正在改变的html文件的/ app / assets / templates目录。 因此,如果我有一个页面“edit.html”加载部分“_form.html”,那么每当我更新路线或更改_form.html中的内容时,我都需要确保触及edit.html。 这很烦人,非常挑剔。 有没有办法通知资产管道/链轮,以避免app / assets / templates目录的缓存?

通过Assets Pipeline,Rails 3.1 rc1携带Sass变量

我最近用3.1 rc1分支了我的一个Rails 3.0项目来尝试新的资产管道。 在进入3.1之前我一直在项目中使用Sass所以我在一个单独的配置文件中设置了一些变量和函数,让我所有的其他sass文件在第一行导入一个文件。 这样做非常好,不会在样式表中重复一些颜色代码和一般几何体。 问题是现在新的Assets Pipeline是我已经知道它将“.css.sass”文件转换为原始css,然后将其附加到其余代码。 所以,如果我在“application.css”中指定: /* *= require ./configure *= require ./what_ever_other_files_i_want_to_import */ 我得到的错误如下: Sass::SyntaxError Undefined variable: “$interactive”. 当我尝试从以下位置访问该文件时: http://localhost:3000/assets/application.css 有任何想法吗?

在亚马逊EC2上使用capistrano进行生产时,资产不会预编译

我致力于使用capistrano部署到生产。 我面临几个问题,在修复大部分问题的同时,我们还有最后一个问题。 我们的预编译资产选项没有在生产中正确编译它们,因此,我们无法使用最后开发的function,因为它们严重依赖JS。 不试图影响任何人如何分析这个问题,这是我尝试使其工作的一些方法: 本地预编译资产,推送到github仓库,从本地机器部署到ec2。 cap deploy是本地的,被推送到ec2的代码是github上的代码。 尝试使用capistrano任务建议。 在Capfile中使用load’debloy’assets’并让cap deploy:setup任务完成它。 使用选项cap deploy:assets:clean然后cap deploy:assets:precompile 尝试从公共中删除资产,然后在deploy.rb中使用pipeline_precompile任务 过期资产,强制rails预编译application.rb中更改assets.versions的所有内容 尝试在environment / production.rb中的config.assets上尝试不同的组合 最后,尝试使用RAILS_ENV =生产包exec rake资产删除生产中的公共/资产并在那里进行预编译:预编译 该应用程序只是没有使用新的JS文件。 如果你在repo或服务器本身检查代码,我在name.js.coffee中引入了一个简单的注释(“显示和隐藏菜单,具体取决于数据库中的数据”,这是在xxx行),这不是生产中编译的assets.js。 这是一个快速测试,以确保最近的资产被使用。 这里的问题是js和css文件,而不是rails。 这就是为什么它如此难以测试或找到..因此最近js框架普及的原因之一。 如果出现问题,你不必自杀,寻找问题所在。如果问题是ruby或铁轨,通常不需要那么长时间才能找到问题。 一旦你获得js,css和跨浏览器兼容性,那么这就是手头的问题。 这是我的deploy.rb文件。 运行轨道3.2.12 ruby​​-1.9.3-p327: # $:.unshift(File.expand_path(‘./lib’, ENV[‘rvm_path’])) # Load rvm’s capistrono plugins require ‘rvm/capistrano’ require ‘bundler/capistrano’ set :rvm_type, :user set :user, ‘username’ set :domain, ‘ip_address’ set :application, “app_pro” […]

Rails 3.1.1资产管道Heroku缓存问题

简而言之,问题是在开发模式下我们会对CSS或JS文件进行更改,但总会获得这些文件的缓存/旧版本。 我所做的一切都没有任何效果。 我检查了几十次配置并尝试了配置值的每个组合,但始终保持得到相同的结果:过时/缓存文件。 我必须实际运行在生产模式,并在每次测试更改后重新启动服务器。 我花了好几天在这个问题上撕扯我的头发,看了几十个关于资产管道的stackoverflow问题,但从来没有找到一个解决它的问题,所以我想我会把它发布给后人。 我们使用Heroku并预编译我们的资产,因为Heroku无法为我们预编译(我们也使用设计,这显然是heroku预编译失败的原因)。 因此,为了将我们的预编译资产推送到Heroku,我们必须将它们检入git。 这是问题所在 。 当我们升级到Rails 3.1.1资产预编译生成的文件时,无论是否有名称中的MD5哈希。 我没有考虑太多,并继续检查所有这些文件,所以我可以推送到heroku。 一段时间后,我注意到在开发模式下缓存结果的问题。 没有MD5哈希的预编译和签入资产作为静态文件从/ public / assets提供,这使我们无法看到我们在/ app / assets中进行的任何更改。 在终于意识到这一点后,我运行了git rm / public / assets,一切都运行了。 所以需要注意的是: 小心将资产检入git! 把这变成一个问题:其他人如何做到这一点? 我错过了一些明显的东西吗 我真正喜欢Heroku为我预编译我的资产,但是我收集的数据库连接错误是因为设计而失败。 我曾希望Rails 3.1.1修复此问题,但事实并非如此。