Heroku无法预编译或清理资产未初始化的常量Rake :: AltSystem

时间:2013-11-01 01:09:04

标签: ruby-on-rails heroku ruby-on-rails-3.2 asset-pipeline

我无法让我的资产在heroku上进行预编译。

我认为这个问题与更改类型的文件有关(它是sym链接,然后是硬链接,现在只是普通文件)。

在部署时进行预编译时,我得到:

rake aborted!
       File to import not found or unreadable: token-input.
       Load path: Sass::Rails::Importer(/tmp/build_3f056915-63fa-4ec6-973d-39b8dd847458/app/assets/stylesheets/active_admin.css.scss)
...

(令牌输入是我怀疑的文件,所以我试图按照this article

进行清理

但是当我做一个rake:资产清理时我得到了这个错误。

rake aborted!
uninitialized constant Rake::AltSystem
/app/vendor/bundle/ruby/1.9.1/gems/rake-10.0.4/lib/rake/file_utils.rb:68:in `rake_system'
...

我对这个错误感到非常难过 - 我用谷歌搜索它,很少出现。

2 个答案:

答案 0 :(得分:0)

也许您必须将令牌输入添加到资产路径。

我会试试这个:

  1. 输入rails console
  2. Rails.application.config.assets.paths
  3. 检查令牌输入是否在这些目录中。
  4. 如果没有,请config/application.rb

    config.assets.path << Rails.root.join("path","to","token-input-folder")
    

答案 1 :(得分:0)

原来是更多的符号链接。错误消息是指与令牌输入一起使用的CSS,我忘记了它与javascript文件一起使用。 (发布时,我认为这是一个javascript文件错误,这就是为什么我感到困惑)

我将CSS文件从符号链接更改为普通文件,推送到heroku,一切顺利。

故事的道德,不要在你的回购中使用符号链接。