解决Jenkins构建前端时node-sass的.node文件下载报错问题的一种方案
问题背景
公司的npm仓库未跟外网联通(为什么不联通,我也好鸡儿纳闷),使用Jenkins构建前端时,会在下载node-sass的.node时报错。默认情况下会从github上去下.node文件,当然可以通过配置.npmrc文件指定从淘宝npm上下载:
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
解决办法
首先,在package.json文件中写死node-sass的版本,因为版本写死后,.node文件的版本就固定了。
然后,将对应版本的.node文件放到git代码库里,如:/vendor/linux-x64-57/binding.node
在npm install时添加node-sass变量:npm i --sass_binary_path=xx/yy/vendor/linux-x64-57/binding.node
注意:指定的路径要用绝对路径。
这样,在下载时候,不会从github去下载.node文件了,从而也不会因网络不通中断下载依赖过程。
npm install完成后,node_modules中已有了node-sass了,但是对应的.node文件还未拷贝进去,这时,你还需要做一步拷贝动作,将代码库中的vendor拷贝到/node_modules/node-sass/
下,到此就ok了。
相关推荐
MrHaoNan 2020-07-31
boneix 2020-10-21
seanzed 2020-10-15
ifconfig 2020-10-14
学留痕 2020-09-20
往后余生 2020-09-17
kka 2020-09-14
redis 2020-09-07
lzccheng 2020-09-06
soyo 2020-08-31
stonerkuang 2020-08-18
LxyPython 2020-08-17
raksmart0 2020-08-17
Lzs 2020-08-14
80530895 2020-07-05
lengyu0 2020-06-28
YarnSup 2020-06-28