我的开发人员朋友非常喜欢在非Windows环境中开发,他一直对Compass赞不绝口。我终于决定尝试一下。我已经厌倦了试图跟上跨浏览器CSS的所有复杂性。
所以,我在NuGet上找到它并安装它。
我安装到 packages 目录中的解决方案根目录:
$(SolutionDir)packages\Ruby.Compass.0.12.2.3\
它附带一个自述文件,其中包含以下消息:
Ruby Compass v.1.12.2
Compass安装在自己的NuGet包目录中,可以通过 “packages \ Ruby.Compass.0.12.2.3”文件夹中的'compass'命令。
要在构建期间编译Compass文件,请将下一行添加到 项目预建活动:
“$(SolutionDir)packages \ Ruby.Compass.0.12.2.3 \ compass”编译 “$(PROJECTDIR)。”
因此,我将该行放在我的预构建事件中,保存并尝试构建我的项目。但是,我收到如下错误:
命令 “”$(SolutionDir)包\ Ruby.Compass.0.12.2.3 \ compass“compile”$(ProjectDir)。“”退出代码1。
注意:它实际上显示了ProjectDir
和SolutionDir
的完整路径,因为它在错误消息中也是如此。我用令牌替换它们以保持项目名称一致。
让我提一下,我尝试了建议预构建行的各种变体:
"$(SolutionDir)packages\Ruby.Compass.0.12.2.3\compass" compile "$(ProjectDir)"
"$(SolutionDir)packages\Ruby.Compass.0.12.2.3\compass" compile "$(ProjectDir)css"
"$(SolutionDir)packages\Ruby.Compass.0.12.2.3\compass" compile "$(ProjectDir)css\test.scss"
第一个刚删除尾随.
。第二个将它指向存储所有css文件的目录。第三个指向我试图编译的确切文件。
我打开了compass.cmd
这是它正在调用的文件,它看起来如下所示:
@echo off
"%~dp0ruby\bin\compass" %*
我假设这会调用ruby / bin文件夹中的指南针文件,如下所示:
#!C:/downloads/ruby-2.0.0-p247-x64-mingw32/ruby-2.0.0-p247-x64-mingw32/bin/ruby.exe
#
# This file was generated by RubyGems.
#
# The application 'compass' is installed as part of a gem, and
# this file is here to facilitate running it.
#
require 'rubygems'
version = ">= 0"
if ARGV.first
str = ARGV.first
str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
if str =~ /\A_(.*)_\z/
version = $1
ARGV.shift
end
end
gem 'compass', version
load Gem.bin_path('compass', 'compass', version)
从那里,我不确定发生了什么。我不是一个红宝石人。
我在这里有一个问题吗? 有没有其他人能够通过NuGet安装Ruby.Compass? 如何在不与Ruby斗争的情况下在Visual Studio中使用它?
答案 0 :(得分:2)
来自:http://codewith.us/automating-css-generation-in-visual-studio-using-sasscompass/
“请注意,如果您的SCSS文件存在问题,您将收到以下错误的一些变体。
错误36命令“del”C:Projectspubliccss * .css“/ S. 罗盘编译“C:Projectspublic”--force“退出代码1。
打开“输出”窗口(单击“视图” - >“输出”或按Ctrl + W,O),然后在“显示输出:”菜单中选择“构建”。向上滚动,直到在日志中找到您的命令,您应该更深入地了解命令的哪个部分失败。“