8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

CONSULDEMOCRACY:Sass 失败(未找到 sassc-embeded-import 样式表)

anthony sottile 3月前

87 0

用户故事我正在尝试部署 consuledemocracy 的本地实例,如果失败,则出现 Sass::CompileErrorDescription我的系统是 Ubuntu 22.04,我使用以下版本:Rails v6.1.7.7...

用户故事

我正在尝试部署 consuledemocracy 的本地实例,如果失败,则会出现 Sass::CompileError

描述

我的系统是 Ubuntu 22.04,我使用以下版本:Rails v6.1.7.7NodeJS v18.18.2PSQL v14.11Ruby v3.2.3

我已按照本地安装的步骤进行操作,虽然可以部署服务器(bin/rails server -b 0.0.0.0),但访问本地主机时出现以下错误:

Completed 500 Internal Server Error in 5267ms (ActiveRecord: 165.5ms | Allocations: 3295956)

ActionView::Template::Error (Error: Can't find stylesheet to import.
  
1  @import "sassc-embedded-import:19";
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  
  sassc-embedded-import:18 1:9                                                        @import
  /home/singular/consul/consuldemocracy/app/assets/stylesheets/application.scss 10:9  root stylesheet):

sassc-embedded (1.70.1) lib/sassc/embedded.rb:66:in `rescue in render'
sassc-embedded (1.70.1) lib/sassc/embedded.rb:13:in `render'
sassc-rails (2.1.2) lib/sassc/rails/template.rb:40:in `block in call'
sprockets (4.2.1) lib/sprockets/utils.rb:145:in `block in module_include'
sprockets (4.2.1) lib/sprockets/utils.rb:130:in `synchronize'
sprockets (4.2.1) lib/sprockets/utils.rb:130:in `module_include'
sassc-rails (2.1.2) lib/sassc/rails/template.rb:39:in `call'
sprockets (4.2.1) lib/sprockets/processor_utils.rb:84:in `call_processor'
...
...

当我运行 bin/rails assets:precompile 时,我得到:

singular@euprojects: ~/consul/consuldemocracy$ bin/rails assets:precompile
rails aborted!
SassC::SyntaxError: Error: Can't find stylesheet to import. (SassC::SyntaxError)
  
1  @import "sassc-embedded-import:19";
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  
  sassc-embedded-import:18 1:9                                                        @import
  /home/singular/consul/consuldemocracy/app/assets/stylesheets/application.scss 10:9  root stylesheet

Caused by:
Sass::CompileError: Can't find stylesheet to import. (Sass::CompileError)

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

我觉得好像缺少样式表,但我在网上找不到任何信息。

帖子版权声明 1、本帖标题:CONSULDEMOCRACY:Sass 失败(未找到 sassc-embeded-import 样式表)
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由anthony sottile在本站《ruby》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我认为您有点偏离主题,因为您将特征类的概念与 Ruby 类实例的概念混淆了。它们并不完全相同;更正确的说法是 Ruby 在内部将类定义实现为两个对象。

    这很容易证明:

    $ irb
    > ObjectSpace.count_objects[:T_CLASS]
     => 1285 
    > Foo = Class.new { def instance_method; end }
     => Foo 
    > ObjectSpace.count_objects[:T_CLASS]
     => 1287
    

    从内部来看,每个对象都有一个 klass 指针,表面上指向该对象所属的类。但是,每个对象(某些基本类型除外,例如 Integer , Float Symbol )也都有一个特征类实例,而这正是 klass 指针实际指向的。那么,对于类,指针 klass 实际上并不指向 Class 类,而是指向类定义中的单例对象,该对象包含保存类方法的方法表。

    正如 anothermh 提供的链接所解释的那样,\'普通\' 类对象的方法表包含该类的所有实例方法,而特征类对象的方法表包含该类的所有类方法。这种机制可以防止该类的任何实例访问该类的所有类方法 Class

    现在,特征类( eigen 在德语中是“own”的意思,意为“我自己的”)是类的类,这就是为什么它也被称为 元类 。(查看源代码 Class::new ,你会看到对的调用 rb_make_metaclass 。)

    这就是为什么调用 会 MyClass.singleton_class 返回 #Class:MyClass 而不是 Class 调用 MyClass.class 会返回的原因。此语法类似于 p Foo.new 返回类似 的内容 #<Foo:0x00007f9c0d190400> ,即类和指向实例的指针。 是 #Class:MyClass , MyClass 的元类或 的类的 MyClass 引用 MyClass 。不要将其与类 MyClass 是 的实例相混淆,后者当然是 Class .

    如果你好奇的话, klass 特征类实例中的指针实际上指向它自己。这可以通过 MyClass.singleton_class.singleton_class 返回 #Class:#Class:MyClass .

    有关更全面的概述,请参阅 《揭秘 Ruby 单例类》 。要查看源代码中发生的情况,请参阅《 Ruby 黑客指南》:第 4 章 。最后, 《Ruby Under a Microscope》 是全面深入探究 Ruby 内部机制的绝佳资源。

    [已编辑,以纳入评论中的部分讨论]

返回
作者最近主题: