【发布时间】:2014-05-07 22:40:19
【问题描述】:
我创建了一个按预期工作和编译 sass 的项目。我的设置只是在 Netbeans 中使用 sass、compass 和 susy。我让另一个团队成员从源代码管理中提取它,但他无法编译并出现错误:
Syntax error: File to import not found or unreadable: susy.
Load paths:
C:/wamp/www/77864nl2014/wp-content/themes/nl (DEPRECATED)
C:/wamp/www/77864nl2014/wp-content/themes/nl/sass
C:/Program Files (x86)/Prepros/gems/gems/bourbon-3.1.8/app/assets/stylesheets
C:/Program Files (x86)/Prepros/gems/gems/neat-1.4.0/app/assets/stylesheets
C:/wamp/www/77864nl2014/wp-content/themes/nl/sass
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/compass-core-1.0.0.alpha.19/stylesheets
Compass::SpriteImporter
on line 2 of C:\wamp\www\77864nl2014\wp-content\themes\nl\sass\main.scss
Use --trace for backtrace.
他正在使用 prepros 并在项目 sass 目录上设置了监视。他说 prepros 使用 compass 选项设置并配置为使用 ruby。他也已经安装了 bundler。
项目 config.rb 如下所示:
http_path = '/'
css_dir = '/wp-content/themes/nl/styles'
sass_dir = '/wp-content/themes/nl/sass'
images_dir = '/wp-content/themes/nl/images'
javascripts_dir = '/wp-content/themes/nl/scripts'
require 'bundler/setup'
require 'susy'
Gemfile 看起来像:
source 'https://rubygems.org'
gem 'sass', '3.3.4'
gem 'compass','1.0.0.alpha.19'
gem 'susy','1.0.9'
我不确定到底发生了什么,但有几件事要尝试,但希望在这里提问可以加快进程。我的办公室里有许多开发人员使用 PC 和 Mac,以及各种 IDE,我希望 bundler 可以帮助解决我们一直遇到的一些问题。我希望能够设置用于项目的特定 gem 和版本,并将其与项目的其余部分一起提交到源代码控制中。如果另一个开发人员需要在该项目上工作,我希望 bundler 会为该项目使用或拉下适当的 gem,开发人员将关闭并运行,而无需更新配置、gem 等。这就是 bundler 一旦我们可以工作的方式想出解决办法?如果没有,对于我们的情况和目标,还有其他更好的解决方案吗?
【问题讨论】:
-
您确定您的团队成员正在运行
bundle install吗?您能否提供上述命令生成的输出? -
那么让我看看我是否正确理解了先决条件。他需要安装 ruby,安装 bundler gem,但他还需要安装 Ruby Dev Kit 并在项目目录上执行“bundler install”吗?我假设 bundler install 命令最初是用于设置项目,但该命令会拉下所需的 gems 吗?
-
是的,
bundle install是获取必需的 gem、它们的依赖项并在本地安装它们所必需的。更多详情请点击此处:bundler.io/v1.5/bundle_install.html -
好的,我们完成了所有这些,并且捆绑器安装工作正常。但现在出现错误 sass/main.scss(第 2 行:要导入的文件未找到或不可读:susy。加载路径:C:/wamp/www/77864nl2014/wp-content/themes/nl/sass C:/Ruby200-x64 /lib/ruby/gems/2.0.0/gems/compass-core-1.0.0.alpha.19/stylesheets Compass::SpriteImporter)
-
另外,如果原开发者已经这样做并创建了 config.rb 文件,是否需要新开发者运行 compass create 或 init?
标签: ruby sass bundler compass-sass