记一次node-sass 相关的问题

今天项目安装依赖时,报了个错:
Error: Can't find Python executable "python", you can set the PYTHON env variable.
百度了下大概是缺失python的环境,需要安装python或者执行下面两条命令:

npm install --global --production windows-build-tools
npm install --global node-gyp

不想安装python,所以选了第二种方法
但是执行第一条命令时,又报错了,百度了下概是需要把npm的proxy和https-proxy设置为null
但我看了下我电脑,本来就是null......,所以此路不通

回想了下之前安装依赖,报过node-sass安装失败的问题,那是不是还是他的事儿呢,于是按照这个方法重新操作了一次,再执行npm install,他就成功了......
方法如下:
用这行命令

node -p "[process.platform, process.arch, process.versions.modules].join('-')"

复制输出的结果,去Release 列表找到对应的版本,Ctrl+F 粘贴,找到那个文件,下载(必要的时候挂代理,浏览器下载通常都比 node 下载更快更稳定),然后文件存到一个稳定的路径,并复制路径
设置sass路径

set SASS_BINARY_PATH=D:/nodejs/.nodes/win32-x64-57_binding.node

然后安装node-sass模块

npm i node-sass -D --verbose

之后重新install就可以了

有点难受,记录一下

再一次遇到这个问题,用上面的方法没有解决,通过安装python解决的。哭辽

两天之前安装成功之后,启动也没有问题
但是过了两天,我重新启动时又报错了......
不知道原因,但看问题还是跟之前差不多,又重复一次上面的流程,就好了
不知道原因,记录一下......


以上,用命令行启动可以成功启动,在webstorm中用集成的npm命令启动报错:

 error  in ./src/assets/styles/element-variables.scss

Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Error: ENOENT: no such file or directory, scandir 'C:\Users\itw_wanglei07\Desktop\osms\osms_web\osms-ui\node_modules\node-sass\vendor'

解决方法如下:
C:\Users\itw_wanglei07\Desktop\osms\osms_web\osms-ui\node_modules\node-sass目录下,自己建一个vendor文件夹,然后在vendor下用node -p "[process.platform, process.arch, process.versions.modules].join('-')"查到的版本号建一个文件夹,最后把之前下载的win32-x64-72_binding.node文件名改为binding.node放入新建的文件夹下,再重新启动就可以了
如:我查看我的版本是win32-x64-72最后操作完之后的文件路径为C:\Users\itw_wanglei07\Desktop\osms\osms_web\osms-ui\node_modules\node-sass\vendor\win32-x64-72\binding.node

20220510,发现一个新的报错和解决方案
报错信息如下:

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

找不到sass,查看node-sass文件,里面没有文件。
所以在npm install前设置sass源:

npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass

然后重新安装依赖就可以了
安装依赖速度慢时,可以使用淘宝npm源
永久设置:

npm config set registry http://registry.npm.taobao.org/

一次使用:

npm install --registry=https://registry.npm.taobao.org

你可能感兴趣的:(记一次node-sass 相关的问题)