离线安装node-sass(内网也可用)

953 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

最近在内网开发,对于前端开发者来说有些头痛,因为很多包都是公司规定的,需要慢慢摸索,这个node-sass就是这样,无法直接安装,需要使用离线方式。

报错信息: gyp ERR! node -v v12.16.1 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok Build failed with error code: 1 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@4.14.1 postinstall: node scripts/build.js npm ERR! Exit npm ERR! Failed at the node-sass@4.14.1 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

解决方式:

  1. cmd输入下面指令,查看sass版本
node -p "[process.platform, process.arch, process.versions.modules].join('-')"
  1. 去github上找到并下载对应版本的二进制文件

  2. 进入项目路径,执行

npm i node-sass --sass_binary_path=BINDING_NODE_PATH ,其中 BINDING_NODE_PATH 为下载的二进制文件 win32-x64-93_binding.node 的路径,个人建议放在纯英文目录下。
  1. 安装完成后,进入项目 node-modules -> node-sass,新建一个vendor 文件夹,在里面新建一个win32-x64-93文件夹,将刚才的二进制文件重命名为 binding.node 放进去,大功告成。

=================================================================

外网的同学就简单了,此问题是sass安装时获取源的问题,先修改sass安装的源,再运行npm install就成功了

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

出现npm WARN *** No description等是没问题的最后运行创建命令即可完成创建项目

还要注意自己的node版本

node-sass4.14.1只支持node14及以下的版本安装,而我node是官网安装的最新稳定版本16.13.0的!难怪我直接使用npm i node-sass --sass_binary_site=npm.taobao.org/mirrors/nod… i node-sass@4.14.1 --sass_binary_site=npm.taobao.org/mirrors/nod… 安装成功!