rake assets:预编译未定义的方法目录?为零:NilClass

Rus*_*sen 11 rake ruby-on-rails-3 asset-pipeline

在尝试创建资产时:为生产网站预编译我第一次遇到此错误.

 rake assets:precompile undefined method directory? for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

我已经成功更新了网站并完成了一项资产:之前多次预编译.

完整的例子:

# RAILS_ENV=production rake assets:precompile --trace                        
/usr/local/rvm/gems/ruby-1.9.2-p290@pm/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/usr/local/rvm/gems/ruby-1.9.2-p290@pm/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
rake aborted!
undefined method `directory?' for nil:NilClass

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

我期待着有人对这一点有所了解,我一直在绞尽脑汁,谷歌搜索答案数小时.

小智 10

当文件系统找不到它认为应该预编译的资产之一时,会发生这种情况.当我的VM无法在我的共享文件夹中找到其中一个文件时出现这种情况(奇怪的VMware问题,它出现在目录列表中,但文件实际上并不存在)


A.K*_*.K. 10

我在assets/javascript目录中错误地创建了一个指向不存在文件的符号链接.删除链接修复了问题.请注意,我在资源目录中有其他链接,因此链接通常不是问题.