关于安装gulp-sass失败的问题解决
来源:互联网 发布:淘宝条形码是什么意思 编辑:程序博客网 时间:2024/04/29 05:30
该文章所介绍的问题均是在64位win8下出现的。
网络原因导致gulp-sass安装失败
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件。
执行安装gup-sass的命令
$ npm install gulp-sass --save-dev
这个过程中会先安装 node-sass ,因为 gulp-sass 依赖于 node-sass 。中间出现的错误信息类似下面这样:
Cannot download https://github.com/sass/node-sass/releases/download/v3.4.2/win32-x64-46_bind
处理思路
看现象很有可能是这些二进制文件使用了 GitHub 的 lfs 服务,而 lfs 使用的是亚马逊云,由于网络原因,这些服务器无法访问。
现在解决问题的办法思路就很清晰了,下载源码自己编译一个这样的二进制文件,或下载官方的二进制文件。只要解决该文件的下载问题就可以继续往后安装。
打开 github 看一下该项目 https://github.com/sass/node-sass,在 releases 页面能找到下失败的文件 win32-x64-46_binding.node ,这里还可以下载到 source code,下载后里头有 C++ 项目 使用 visualstudio2015 自己编译一个就可以了。
同时,在 https://github.com/sass 下,还发现一个名字叫 node-sass-binaries 的项目,这里头其实也有刚才的那个二进制文件,并且这里的是可以直接下载的(貌似没使用 lfs)。
下面说一下直接使用该项目中的二进制文件进行安装 node-sass 过程。
操作
npm 是一个功能超级强悍的工具,安装一个软件包的方式也当然不仅仅是 npm install packagename 这一种方式,当然这是最快捷的使用公共软件包的安装方式。
首先到官网(https://github.com/sass/node-sass/releases)下载 node-sass 项目源码,下载后解压至相应的 node_modules 目录中。
接下来,打开 package.json 文件,检查 script 字段
"scripts": { "coverage": "node scripts/coverage.js", "install": "node scripts/install.js", "postinstall": "node scripts/build.js", "pretest": "jshint bin lib scripts test", "test": "mocha test" },
打开 install 字段对应的文件 scripts/install.js,可以看到 checkAndDownloadBinary() 在下载这个二进制文件,URL使用的是 process.sass.binaryUrl,我们可以直接在这里覆盖这个变量,把改地址修改为上面提到的那个能够下载的二进制文件地址,大概113行。
download(process.sass.binaryUrl, process.sass.binaryPath, function(err) { if (err) { console.error(err); return; } console.log('Binary downloaded and installed at', process.sass.binaryPath); });
或者,找出上面提到的 sass.binaryUrl() 方法,打开 ../lib/extensions.js 文件,大约108行左右,修改为如下样子即可
function getBinaryUrl() { var site = flags['--sass-binary-site'] || process.env.SASS_BINARY_SITE || process.env.npm_config_sass_binary_site || (pkg.nodeSassConfig && pkg.nodeSassConfig.binarySite) || 'https://github.com/sass/node-sass/releases/download'; //return [site, 'v' + pkg.version, sass.binaryName].join('/'); return 'https://github.com/sass/node-sass-binaries/blob/master/win32-x64-46_binding.node';}
修改完成后,继续安装即可。
缺少python环境
报错代码
gyp verb check python checking for Python executable "python2.7" in the PATHgyp verb which failed Error: not found: python2.7gyp verb which failed at F (C:\Users\Administrator\Desktop\webpack\node_modules\node-sass\node_modules\node-gyp\node_modules\which\which.js:78:19)gyp verb which failed at E (C:\Users\Administrator\Desktop\webpack\node_modules\node-sass\node_modules\node-gyp\node_modules\which\which.js:82:29)
安装python的包,点击下载
注意:安装python时需要允许写入path,如下图所示,点击左侧图标,选择第一项
MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”
gyp info spawn args '/p:Configuration=Release;Platform=x64' ]在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。 生成启动时间为 2016/2/23 14:45:24。 节点 1 上的项目“C:\work\testCode\gulp\node_modules\node-sass\build\binding.sln”(默认目标)。 ValidateSolutionConfiguration: 正在生成解决方案配置“Release|x64”。 MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了其他位置,请将其位置添加到系统路径中。 [C:\work\testCode\gulp\node_modules\node-sass\build\binding.sln]已完成生成项目“C:\work\testCode\gulp\node_modules\node-sass\build\binding.sln”(默认目标)的操作 - 失败。 生成失败。
1. 打开.net Framework
- 找到控制面板中“启用或关闭windows功能”
- 打开控制面板中“启用或关闭windows功能”
- 启用后,在控制面板=》程序中可以看到.net framework
2. 安装Visual Studio Express 2015 for window desktop
我在网上查阅资料,说只要安装Visual Studio Express就可以了,这个蛮大的,装了好久,本来不想安装,可是装不上gulp-sass,无奈,只能安装一下了。下载地址,下载的文件名为“wdexpress_full_CHS.exe”
下载截图
安装截图
3. 更改npm中使用vs的配置
我是安装的2015,所以需要强制指定npm使用vs2015
$ npm config set msvs_version 2015
4. 安装gulp-sass
$ npm install gulp-sass --save-dev
这次终于安装成功,截图如下:
参考文章:http://www.th7.cn/web/js/201511/135415.shtml
- 关于安装gulp-sass失败的问题解决
- gulp-sass安装失败问题
- gulp-sass安装失败的原因可能是没有.net framework 2.0 SDK 和vs2015
- gulp sass安装步骤
- 关于dnw驱动安装失败的问题解决
- gulp环境下安装sass
- gulp-sass无法正常安装
- windows下安装gulp-sass编译不过去报错的解决方案;
- 解决gulp-sass下载失败原因
- idea里gulp-sass下载失败解决方案
- node-sass 安装失败的解决措施
- 解决node-sass安装失败的问题
- node-sass 安装失败的解决措施
- node-sass 安装失败的解决措施
- gulp-ruby-sass与gulp-sass的区别
- 安装sass失败,解决方法
- Gulp入门:从安装到编译Sass
- node-sass安装出错问题解决
- grails中验证错误消息
- 在CentOS 7下编译安装c-store 0.2
- 【小镇的技术天梯】Linux下安装phpmyadmin
- vnc ubuntu14.0 远程连接 center'os6.5
- C++的namespace用法详解
- 关于安装gulp-sass失败的问题解决
- 第4章 流程控制与数组
- AdMob集成插页式广告指南
- 数据库的锁
- 【Opencv】图像扫描
- [Google EarlGrey] 0x00 安装及运行
- 不好意思,好久没更了。
- linux route命令详解
- SpringMVC源码解读