【问题标题】:File to import not found or unreadable: foundation/foundation-global找不到或无法读取要导入的文件:foundation/foundation-global
【发布时间】:2013-03-21 20:45:50
【问题描述】:

我无法让它与 sass 文件中的任何导入文件一起使用,即使使用 activeadmin(File to import not found or unreadable: active_admin/mixins)

奇怪的是,在我的应用程序资产目录中没有这样的名为基础的目录,当我安装 gem 并按照文档生成文件时,也没有 active_admin。

Syntax error: File to import not found or unreadable: foundation/foundation-global.
              Load paths:
                /Users/me/app/assets/stylesheets
                /Library/Ruby/Gems/1.8/gems/compass-0.12.2/frameworks/blueprint/stylesheets
                /Library/Ruby/Gems/1.8/gems/compass-0.12.2/frameworks/compass/stylesheets
                Compass::SpriteImporter

还有一件事是,因为它有助于解决这个问题,我正在使用 RVM。奇怪的是,当我回显 $GEM_PATH 时,我实际上在 /usr/local/rvm/gems/ruby-1.9.3-head 中有 gem 路径,但错误显示上面的 gem 路径不同。

这是我应用中的 Gemfile:

group :assets do
  gem 'compass'
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
  gem 'zurb-foundation', '~> 4.0.4'
end

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

gem 'activeadmin'

有没有人可以告诉我这里发生了什么?我已经和它一起生活了几个星期。由于无法修复,每次重启服务器或更改 sass 文件时,我都必须删除 foundation_and_overrides.cssactive_admin.css

【问题讨论】:

    标签: ruby-on-rails-3.2 sass zurb-foundation


    【解决方案1】:

    我遇到了同样的问题,在这里找到了解决方案:

    https://stackoverflow.com/a/18803119/661471

    引用该答案:

    这是运行 rails g foundation:install 的结果 与您安装的版本不同的基础版本。 Foundation-global 不再作为 Foundation_and_overrides.scss。

    【讨论】:

      【解决方案2】:

      您只需要添加到您的 Compass config.rb:

          require "zurb-foundation"
      

      【讨论】:

      • 这非常有效。我正在使用 Codekit 编译我的脚本,所以这就是它所缺少的。
      【解决方案3】:

      从您的项目目录(具有Gemfile 的目录)中运行bundle install

      更新 2013-04-01

      Bundler 会创建一组单独的 gem。您的项目似乎没有意识到这一点。

      尝试使用bundle uninstall,将Gemfile 从项目中移开并在全球范围内安装gem。如果您的项目开始工作,那么您就会知道问题出在哪里。

      RVM 的GemSets 也可以维护一组单独的 gem。请也检查一下。

      更新 2013-04-01 #2

      请以您自己和运行您的应用程序的用户身份运行which rubywhich compass。这是一个如何在 Linux 上执行此操作的示例,在 Mac 上应该类似:

      sudo su -ls /bin/bash www-data
      which ruby
      which compass
      

      请对此问题发表评论,并为您的用户和 Web 应用程序用户提供结果。

      更新 2013-04-02

      尝试使用compass-rails gem 而不是compass

      【讨论】:

      • 很抱歉,每次我想安装 gem 时都会运行 bunble install。这些 gems 基础、activeadmin 或任何使用 sass 的 gem 都已安装,但不知何故,这些 gem 中的任何一个的导入都会抛出错误。
      • Hey Inguyen55,我确实看到您是一位经验丰富的开发人员。请不要认为我的非常基本的建议是一种侮辱。我们将一起调查您的问题,逐步调试。没有必要对第一步投反对票。 :( 我已经更新了我的答案以解决您的回复,请检查并再次回复。
      • 嗨,lolmaus,谢谢你的帮助。我删除了反对票,但仍然抛出错误。看起来 sass-rails 无法使用导入路径,但其他 sass 功能仍在运行。
      • 我在 Mac 上。当我使用 sudo 和用户运行时,两个结果都是相同的:/usr/local/rvm/rubies/ruby-1.9.3-head/bin/ruby/usr/local/rvm/gems/ruby-1.9.3-head/bin/compass
      • 您是否使用 sudo 以其他用户身份运行它?这个 Ruby 1.8 一定来自某个地方。
      猜你喜欢
      • 2016-03-30
      • 2013-02-13
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多