grunt 执行
几天以前,我决定开始启用一个CSS预处理器,找了很久,我选择了SASS并且尝试着去安装它。但是这似乎不是一件简单的事,在安装过程中出现了许多让我始料不及的问题,我很沮丧,但查找了很多资料,我终于找到了一个正确的安装它的方法。
因此在本文中,我将向你展示两件事:
- 怎样去安装Ruby,SASS和Compass样式框架
- 怎样去处理一些可能在安装过程中出现的常见问题
你可能已经去过《SASS的FAQ》页面,不过一般基本上都是说“当你需要安装并运行SASS时,请下载Ruby”。
在我看来,对于很多人来说,手册上给予的安装教程说明远远不够,这是我自己一步一步的安装过程,详细的记录下来,希望能帮助到你。
安装Ruby
第一步、点此进入Ruby Installer for Windows下载页面,下载Ruby的最新版。
第二步、运行安装下载的Ruby.exe文件,选择你的语言,接受条款协议,到这里都没有什么特别的地方。点击下一步屏幕会出现如下图的框,这一步很重要,主要就是要完成添加Ruby的可执行路径到你的环境变量里,再点击下一步完成安装。

第三步、打开命令提示符窗口,即DOS黑窗口。(这相信这个窗口你应该很熟悉)
第四步、到了这儿就差不多大功告成了,你只要检测一下你安装的Ruby是否运行正常,在黑窗口的提示符输入以下命令:
ruby –v
如果你看到一行显示结果为“ruby x.x.x....”等版本平台信息,这意味着你的Ruby安装成功并正常运行了(如下图)。

如果你得到一个错误消息说“ruby没有被识别为内部或外部命令,操作或批处理文件” 你可能在安装过程中忽略了第2步的检查框。 那么请你卸载Ruby,再次运行安装,这一次一定要确保你检查了Ruby可执行文件添加到您的环境变量中。
(重新安装是最简单的方式来解决这个问题。 但是,如果你不想这样做,请看《如何手动添加ruby可执行文件到您的环境变量》 )。
安装SASS
第五步、现在就该安装你的CSS预处理器了,回到命令提示符窗口,并在窗口中输入以下命令:
因为墙的原因,你安装的过程中可能会报错,这个时候你需要停掉ruby默认源,更改为国内淘宝的源
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES *** http://ruby.taobao.org
gem install sass
这里等待30秒的样子,看到几条信息就成功安装了(如下图)。

第六步、检查你的SASS是否安装正常,输入以下命令:
sass –v
不出意外的话,将会打印一行显示SASS的版本号。
安装Compass样式框架
第七步、安装Compass,就像安装SASS一样。
gem install compass
键入命令测试是否正常:
compass -v

如果直到安装到现在都没出现问题的话,说明你已经完成SASS的全部安装。
当你尝试着安装这些软件的时候,会出现许多你意想不到的错误,不要担心这个。安装任何的软件都不是那么顺心如意,比如经常会得到如下的错误信息:
Could not find a valid gem ‘compass (>= 0) in any repository.
或
者你出现的错误信息与这些都不相同,但不管怎样,当你遇到这些问题时,你的第一反应就是“google”或者“百度”,并且有着尝试修复一下。很糟糕的事
又来了,你对那些命令行一无所知,并且又没有现成的教程供你使用,“百度”、“google”又也查找不了有用的信息提供参考。
解决方案有两个:
- 切换到另一条网络连接,再尝试重新安装一次
- 如果安装还是不能通过,仍得到相同的错误结果,那么请你移步到《手动安装SASS和Compass样式框架》页面,这里有些好的建议,可能会解决你的问题。
先打开node.js的shell(打开cmd执行不了)
执行grunt --version 即可查看grunt的版本
grunt 执行的更多相关文章
- Grunt-cli的执行过程以及Grunt加载原理
通过本篇你可以了解到: 1 grunt-cli的执行原理 2 nodeJS中模块的加载过程 Grunt-cli原理 grunt-cli其实也是Node模块,它可以帮助我们在控制台中直接运行grunt命 ...
- grunt自定义任务——合并压缩css和js
npm文档:www.npmjs.com grunt基础教程:http://www.gruntjs.net/docs/getting-started/ http://www.w3cplus.com/to ...
- 前端构建工具的用法—grunt、gulp、browserify、webpack
随着前端项目的飞速发展,项目越来越大.文件越来越多,前端工程化的工具也越来越多.下面介绍目前最流行的四种构建工具——grunt.gulp.browserify.webpack 所有的构建工具都是基于N ...
- 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获
很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解 ...
- 基于Grunt&Mocha 搭建Nodejs自动化单元测试框架(含代码覆盖率统计)
Introduction Grunt 是一个基于任务的JavaScript 世界的构建工具 Mocha 是具有丰富特性的 JavaScript 测试框架,可以运行在 Node.js 和浏览器中,使得异 ...
- Grunt备忘录
一.安装Grunt 应在全局环境下安装Grunt,以保障在任何目录下都能够正确找到grunt npm install grunt-cli -g 二.对已有Grunt基本目录结构文件进行操作 Grunt ...
- 前端开发 Grunt 之 Connect
在前端开发过程中,我们需要在开发过程中,将开发中的站点部署到服务器上,然后,在浏览器中查看实际的效果,在 Grunt 环境下,可以直接使用集成在 Grunt 中的 Connect 插件完成站点服务器的 ...
- JavaScript构建(编绎)系统大比拼:Grunt vs. Gulp vs. NPM
Nicolas Bevacqua进行了一个比较JavaScript构建(编绎)系统的任务.他对三巨头: Grunt, Gulp and NPM进行了比较,并讨论了每种的优缺点. By Nicolas ...
- 实战案例--Grunt构建Web程序
GruntJS构建Web程序.使用Gruntjs来搭建一个前端项目,然后使用grunt合并,压缩JS文件,熟练了node.js安装和grunt.js安装后,接下来来实战一个案例,案例是根据snandy ...
随机推荐
- Compound Interest Calculator3.0续
1.你写的程序能让客户随意操作吗?误输入数据.不小心做了非常规的操作程序是什么反应? 2.如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额) ...
- thinkPHP开发基础知识 包括变量神马的
hinkPHP框架开发的应用程序,一般都采用单一入口的方式,下面是在应用首页文件中实现的定义: 1.在首页定义thinkPHP框架路径 2.定义项目名称及路径,一般项目名称与项目文件夹名称保持一致 3 ...
- hdu----(1599)最大子矩阵(几何/dp)
最大子矩阵 Time Limit: 30000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- 百度 WebUploader 简单入门示例
首先一定要引入:jquery.js 然后是webuploader的一个 css和还一个js 三个必须引用. <!DOCTYPE html> <html xmlns="htt ...
- prepareStatement和Statement的区别
1:创建时的区别: Statement stm=con.createStatement(); PreparedStatement pstm=con.prepareStatement(sql ...
- OTA(空中下载技术)
选自:http://baike.baidu.com/link?url=bKOx4Gcgefi17Zt09pRA6zI-p7zzKVkoN07khRVTPfUtqyRMzdG5xURfpnp3wSP_A ...
- 利用ODBC从SQLServer向Oracle中导数据
1.首先要在Oracle数据库中建对应的表,Oracle数据库中的字段类型和Sql Server 有所不同,Oracle中常用的有varchar2.integer.nchar.date,Sql Ser ...
- MVC1-5直接访问静态页面
MVC模式下默认是无法访问站点内静态页面,昨日百度找了半天试了半天才试成功. 默认在Views文件外的静态页面可以访问,若要访问Views里的静态页面则需要修改View文件夹中的web.config: ...
- js判断手机系统和微信
//判断手机浏览器 var ua = navigator.userAgent; var ipad = ua.match(/(iPad).*OS\s([\d_]+)/), isIphone = !ipa ...
- ExtJs中实现tree节点,全部是单击展开和收缩效果,和收藏夹点击功能一样
listeners : { click : function(node, c) {// 单击节点事件(node是节点对象) if(!node.isLeaf()){//不是叶子节点 node.singl ...