3

昨天我决定尝试一下我的一个网络应用程序。一切正常,就像我在 localhost 中一样,但是当我将新更改推送到我的 EC2 实例时,继续遵循 Zurb Foundation 的说明,我遇到了这个错误:

Sass::SyntaxError in Home#index

显示 /var/www/brain_db/app/views/layouts/application.html.erb 其中第 18 行提出:

找不到或无法读取要导入的文件:foundation/foundation-global。加载路径:Sass::Rails::Importer(/var/www/brain_db/app/assets/stylesheets/foundation_and_overrides.scss) (在/var/www/brain_db/app/assets/stylesheets/foundation_and_overrides.scss)

作为 Ruby on Rails 和 Foundation 的新手,我真的不确定如何解决这个问题。我通过谷歌搜索发现很多人有类似的问题,但他们的情况略有不同,这让我很难诊断。有什么建议吗?

4

6 回答 6

10

我遇到了同样的错误,结果我只需要重新启动本地开发服务器。

于 2013-11-16T22:30:14.110 回答
6

这是使用与您安装的rails g foundation:install版本不同的版本运行的结果。不再作为.foundationfoundation-globalfoundation_and_overrides.scss

确保您拥有最新版本并重新运行rails g foundation:install. 当它提供覆盖您的应用程序布局文件时要小心 - 如果您修改了该文件。将旧文件保存在某处并合并更改。

于 2013-09-14T15:05:01.617 回答
1

如果您使用的是 sass,那么您是否将 application.css 重命名为 applications.scss 并导入文件 @import "foundation";还有一点,如果你使用 gem 'zurb-foundation', '~> 4.0.0' 那么你必须把它放在这样的资产下

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
  # Add Foundation Here
  gem 'zurb-foundation', '~> 4.0.0'
end
于 2013-05-30T14:14:09.847 回答
1

我也遇到了Foundation + Bower + CodeKit这个问题。
我通过替换app.scss中的以下相对路径来修复它:

BEFORE:
@import "_settings";
@import "foundation";

AFTER:
@import "_settings";
@import "../bower_components/foundation/scss/foundation";`    

并在settings.scss中替换它

BEFORE:
@import 'foundation/functions';

AFTER:
@import "../bower_components/foundation/scss/foundation/_functions";
于 2015-06-30T19:19:45.477 回答
0

我今天在将 zurb-foundation 更新到版本 4 时遇到了这个问题。可能是您的 EC2 实例安装了更高版本的 Foundation。如果是这样,我建议更新您的本地开发环境。我这样做的经验可能会有所帮助...

似乎@import 'foundation/foundation_global';不再需要foundation_and_overrides.scss 的头部。相反,需要@import 'foundation';在同一文件的底部添加一个。

此外,我必须更改我的 application.js 文件以仅包含行(与基础相关);

//= require foundation

$(function(){ $(document).foundation(); });

我曾尝试重新运行此处推荐的 Foundation 生成器,但它似乎假定它正在处理一个新项目并且只是附加新的 JavaScript 方法,而不是替换以前的方法。

于 2013-05-30T13:36:49.947 回答
0

您的 zurb-foundation gem 安装有问题。在 gem 的目录中应该有一个名为 _foundation_global.scss 的文件,其中包含所有默认的全局变量。如果该文件丢失,您将收到此错误。

重新安装 gem 应该可以解决你的问题,在你的应用程序目录中运行:

gem uninstall zurb-foundation
bundle install

如果失败,手动安装 Gem ( gem install zurb-foundation) 也可以。

于 2013-05-29T20:18:34.350 回答