我们有一个 rails 3 应用程序,它运行良好,我们部署了它。我必须为开发设置一台新计算机,克隆我的 repo,设置所有内容,现在 Font Awesome 字体拒绝工作(显示胡言乱语)。我克隆到我原来的电脑;在我原来的文件夹中,它们工作正常。但是任何新的克隆都没有。
它们不显示字体,而是显示内容(在 scss 文件中设置的乱码,如 '\f010')。这通常显示为奇怪的形状或其他东西,但绝对不是图标。在 Mac OS X Mountain Lion 和 Ubuntu 12.04、Chrome 和 Firefox 上试过。
我们尝试了什么:
- 在原始文件夹中创建了一个新分支。将所有宝石更新到最新版本 - 我认为克隆可能有更新的宝石,使其在某处损坏。原始项目看起来仍然很好,新的克隆(和检查分支)被破坏了。
- 替换了来自 fontawesome 站点的新下载的 .scss 和字体文件。
- 字体文件的已验证路径是正确的(它们似乎已找到,因为 Chrome 检查器不会抱怨缺少字体文件 - 如果我更改路径,它会抱怨。它们只是没有被正确使用/使用)
两个文件夹中的宝石列表显示具有相同版本的相同宝石。
FontAwesome 路径是:
我的应用程序/供应商/资产/样式表/FontAwesome
里面有 sass 和 fonts 文件夹。
sass 中唯一改变的是路径线:
$fontAwesomePath: "FontAwesome/font/fontawesome-webfont" !default;
正如我所说,这似乎有效;如果我更改路径,chrome 会抱怨缺少字体。
我正在使用 Apache 2、Ruby ree-1.8.7 p-358、Rails 3.2.7、Passenger 3.0.12、RVM 1.14.10、Bundler 1.1.4。乘客和捆绑者坐在我的全球宝石中。这是我的 Gemfile:
# myapp/Gemfile
# The specified versions are to make sure everything is as it is in the
# original folder; didn't make a difference. But the original branch has
#them and is working.
source 'https://rubygems.org'
gem 'rails', '3.2.7'
gem 'chronic', '0.6.7'
gem 'enumerated_attribute', '0.2.16'
gem 'exception_notification', '2.6.1'
gem 'google-api-client', '0.4.5'
gem 'her', '~> 0.2.6'
gem 'jquery-rails', '2.0.2'
gem 'mysql2', '0.3.11'
gem 'paperclip', '~> 2.7.0'
gem 'pdfkit', '0.5.2'
gem 'remotipart', '~> 1.0'
gem 'settingslogic'
gem 'slim-rails'#, '1.0.3'
gem 'validates_timeliness', '~> 3.0.2'
gem 'whenever', '0.7.3', :require => false
group :assets do
gem 'compass-rails'#, '1.0.3'
gem 'sass-rails'#, '3.2.5'
end
gem 'coffee-rails'#, '3.2.2'
gem 'uglifier'#, '1.2.7'
group :development do
gem 'quiet_assets', '1.0.1'
gem 'thin' , '1.4.1'
end
gem 'letter_opener', '0.0.2', :group => [:development, :test, :staging]
gem 'rspec-rails', '2.11.0', :group => [:development, :test]
group :test do
gem 'capybara', '1.1.2'
gem 'factory_girl_rails', '1.7.0'
gem 'guard-rspec', '1.2.1'
gem 'shoulda', '3.1.1'
end
如果有人需要更多信息,请告诉我。我的想法已经用完了,而且我一无所获,我担心现在部署并且我们的产品环境搞砸了!
编辑:仍然没有得到结果。我更新到 Rails 3.2.8,所有 gem 都是最新的,除了回形针和 factory_girl_rails,它们使用旧版本的 Ruby 1.8.7。
销毁了我所有的文件夹,克隆了一个新的,工作正常。克隆一秒钟,不好。在 Chrome 隐身窗口中打开第一个克隆,不起作用。Inspector -> Resources -> Frames -> (site) -> Fonts 显示字体文件。
这是它应该是什么样子(左)与问题(右)的图像: