我的开发人员朋友非常喜欢Compass,他非常喜欢在非Windows环境下开发应用程序。我终于决定要尝试一下。我厌倦了跟上所有跨浏览器CSS的复杂性。如何通过NuGet让Compass在Visual Studio中工作?
所以,我发现它在NuGet上,并安装它。
我安装我的解决方案的根目录中包目录:
$(SolutionDir)packages\Ruby.Compass.0.12.2.3\
它带有指出以下消息自述:
红宝石指南针v 0.12.2
指南针安装在其自己的NuGet包目录中,并可通过 “packages \ Ruby.Compass.0.12.2.3”中的'compass'命令获得lder连续。
构建过程中编译罗盘文件,在下一行添加到 项目前期建设活动:
“$(SolutionDir)包\ Ruby.Compass.0.12.2.3 \指南针” 编译 “$( PROJECTDIR)。”
因此,我将该行放入预构建事件中,保存并尝试构建我的项目。但是,我得到一个错误如下:
命令 “” $(SolutionDir)包\ Ruby.Compass.0.12.2.3 \指南针 “编译 ”$(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? 如何在Visual Studio中使用此工作而无需与Ruby进行斗争?
很酷。现在我看到这个消息。 *“1>没有任何东西可以编译,如果你正在尝试启动一个新的项目,那么你已经放弃了目录参数。”* – crush
检查了这一点:http://stackoverflow.com/questions/11262335/compass-and- sass-nothing-to-compile-error –
谢谢。我能够使用此链接进行操作。 – crush