先吐槽下,windows下node-sass安装是真的很难安装,建议能不用sass就不用sass,用less也行啊。
1 我的系统环境
Win10 ,node版本 v8.11.3,npm版本5.6.0。安装node-sass 4.9.0个人理解安装sass跟node版本关系不紧要,主要是下面的步骤有点关键。
2 安装python27
安装python27,并设置环境变量PYTHONPATH(值为安装目录,例如C:\Python27)与PYTHON(值为%PYTHONPATH%\python.exe)
3 下载binding.node
因为安装的过程中如无意外肯定会报各种奇怪的错误,其中有一部分是因为下载binding.node引发的,这时候先下载下来
直接到浏览器里输入:https://github.com/sass/node-sass/releases/download/v4.9.0/win32-x64-57_binding.node 我这里安装的是node-sass 4.9.0,这个下载地址会根据node-sass的版本不同会有变化。
不用担心,你在终端直接执行npm install node-sass@4.9.0时会报错,日志会打印出这个binding.node的地址。
浏览器输入地址后,会直接下载binding.node到Downloads,如:C:\Users\yang\Downloads
4 终端开始安装
管理员模式进入终端(cmd),cd到你的项目的路径如:D:\dev\platformWeb
执行如下两句:
npm config set python "C:\Python27\python.exe"
set SASS_BINARY_PATH=C:\Users\yang\Downloads\win32-x64-57_binding.node
安装node-sass:npm install node-sass@4.9.0 正常情况下,可以安装成功,我这边是成功了。
继续安装其他包:npm install
启动项目:npm run dev
发现可以启动成功。
你以为这样你就安装好了吗????too young
再打开一个新终端,cd到项目的目录,启动项目:npm run dev 发现报错:Missing binding
如:Missing binding E:\webstorm\notepad\notepad\node_modules\node-sass\vendor\win32-x64-46\binding.node
这时候无论怎么rebuild 都很麻烦而且不一定能弄好
最简单的方法是将下载的win32-x64-57_binding.node复制到项目的node_modules的\node-sass\vendor\win32-x64-57下,这样可以解决这个问题如下图:
就是这样解决了 ,还是很开心的。
参考 https://www.jianshu.com/p/a0641a990206
参考 https://blog.csdn.net/qq_38053195/article/details/87070583