【问题标题】:Specify Compass/Sass version for grunt build为 grunt build 指定 Compass/Sass 版本
【发布时间】:2014-07-26 17:27:23
【问题描述】:

我在安装了多个版本的 Compass 和 Sass 的共享服务器上。

最新版本的 Compass (0.12.6) 依赖于 Sass 3.2.19,其中 3.3.8 是机器上安装的最新版本。

CSS 编译依赖于 grunt 和 grunt-sass-contrib。

我正在寻找一种方法来指定在 Grunt 构建过程中使用的 Sass 版本或 Compass 版本。

我已经测试了最新的 Compass 预发布版本,它工作正常:compass install --pre,但无法全局安装,因为其他项目依赖于以前的版本。同样,如果我将 Sass 版本回滚到 3.2.19,我的项目可以编译,但其他项目会受到影响。

我也可以让 Sass 使用 compass watch 并强制版本号进行编译,但这需要通过 Grunt 而不是 Compass 编译。

我在 Windows 上无法使用 RVM。调查 Bundler (Grunt/Bundler wont use specified sass version),似乎它可能会取得成果,但 Grunt 需要作为独立运行,所以我无法运行 cmets 中提到的命令 bundle exec grunt

有没有人遇到过这种情况?

【问题讨论】:

  • 我不确定我是否理解这里的问题。如果 Compass 需要特定版本的 Sass,那么它将只使用该版本的 Sass。您根本无法将 Sass 3.3.8 与 Compass 0.12.6 一起使用,因为依赖项不匹配:Compass 将尝试使用可用的最新版本的 Sass 3.2。
  • compass watch 工作正常 - 但使用 grunt-contrib-sass 通过 grunt 脚本运行 Sass 编译会返回错误 Cannot load compass

标签: gem sass gruntjs bundler compass-sass


【解决方案1】:

Bundler 就是答案。

创建一个包含其中列出的依赖项的 gem 文件,然后运行 ​​bundle install,然后运行 ​​bundler exec grunt 解决了这个问题。

【讨论】:

  • 我应该补充一点,Grunt 需要全局安装,而不是在共享服务器上独立运行
猜你喜欢
  • 2014-06-16
  • 2015-02-14
  • 2012-03-17
  • 2012-11-07
  • 1970-01-01
  • 2014-04-28
  • 2014-08-03
  • 2014-04-13
  • 2014-03-25
相关资源
最近更新 更多