今天在安装strapi的时候,真是掉头皮啊,费了老鼻子劲儿,好几个小时搞得头晕脑胀的才安装上,记录一下出现问题的解决方法。这个问题处理好像百度也不是太容易搜到。
当然是要把registry设置为淘宝源,相信所有人也都设置了,但还是啰嗦一下
npm config set registry https://npmmirror.com
众所周知,registry解决了直接安装的问题,但像sqlite3和sharp这些的二进制包没法通过registry改源,因此需要设置npm环境变量。。这也不难。安装strapi涉及到的二进制包有sqlite和sharp两个,都需设置。
npm config set node_sqlite3_binary_host_mirror http://npmmirror.com/mirrors
npm config set sharp_binary_host https://npmmirror.com/mirrors/sharp
npm config set sharp_libvips_binary_host https://npmmirror.com/mirrors/sharp-libvips
设置好了你就安装吧,好嘛,这才是气死你的。。。。无论怎么设置,用遍了yarn、npm 、pnpm在build的时候都会报node-gyp和node-pre-gyp,百度了无数,还几个小时一筹莫展,搞得我都有心买个科学上网解决问题了。。最后我心想要不再看看错误代码,几十行一个一个看,突然发现有意思的了。几十行都是告诉我我却上某个包,导致编译失败。来动力了,我就逐渐找这些需要的包,按完居然编译成功了。。。我的天。。原来我的编译环境没有导致了报错,而不是一直以为的npm服务器连接不上造成的。。出现同类问题的朋友,安装如下环境包解决。(docker-alpine平台测试通过),MAC和WIN上docker build 也都通过
RUN apk add python2
RUN apk add gcc
RUN apk add g++
RUN apk add make
就这些就搞定了。。。
补充一点,因为这些报错,我最后试用了pnpm,真的特别快,虽然安装strapi时候,除了创建文件,安装依赖他默认是yarn,但我用pnpx安装就是比yarn安装快无数倍。强推pnpm,相当棒!!!
本文暂时没有评论,来添加一个吧(●'◡'●)