问题:在内网的linux环境打包构建时,npm install出现找不到esbuild-linux包
Trying to install “esbuild-linux-64” using npm
Failed to install “esbuild-linux-64” using npm: EACCES: permission denied, mkdir ‘/opt/devops/node-v14.17.0-linux-x64/lib/node_modules/esbuild/esbuild-pb51v5uokah’
Trying to download “https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.12.29.tgz”
Failed to download “https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.12.29.tgz”: connect ETIMEDOUT XX.XXX.XXX:443
Install unsuccessful
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! esbuild@0.12.29 postinstall:node install.js
分析
1.应该vite版本问题?
2.应该linux下的node版本问题?
3.拉不下包,检查npm镜像是否存在?
尝试方案(失败)
1.删除package-lock.json
重新npm i 拉取新依赖
2.vite版本更新,发现前后升级npm包的版本的install.js文件有区别,之前的版本是esbuild定死了包版本esbuild-linux,新vite版本的install.js文件配置ESBUILD_BINARY_PATH,可以在.npmrc中配置修改
解决方案
升级linux环境下的node版本,成功解决问题