Linux/Debian服务器Laravel项目执行npm run build遇权限拒绝求助
解决Laravel部署中
npm run build的vite权限拒绝问题 以下是针对Debian服务器上该问题的排查和解决步骤:
检查本地vite的执行权限
首先确认项目本地依赖中的vite是否存在且有执行权限:ls -la node_modules/.bin/vite如果输出中没有
x权限位,执行以下命令添加执行权限:chmod +x node_modules/.bin/vite如果vite文件不存在,直接重新安装依赖:
rm -rf node_modules package-lock.json npm install用npx直接调用vite
绕开npm脚本的路径解析问题,直接通过npx调用本地vite:npx vite build排查全局vite的权限(如果全局安装过)
如果vite是全局安装的,检查其路径和权限:which vite ls -la $(which vite)若权限不足,执行:
sudo chmod +x $(which vite)注:更推荐使用项目本地依赖的vite,避免全局权限冲突。
确保PATH包含本地依赖目录
检查当前用户的PATH是否包含项目的node_modules/.bin:echo $PATH如果没有,临时添加后再执行构建:
export PATH=$PATH:./node_modules/.bin npm run build更换npm的临时目录
虽然错误根源不在/tmp,但可以通过指定自定义临时目录排除影响:# 创建用户专属临时目录 mkdir -p ~/npm-tmp && chmod 700 ~/npm-tmp # 临时设置npm的tmp目录 export npm_config_tmp=~/npm-tmp # 执行构建 npm run build
内容的提问来源于stack exchange,提问作者Fadi Ramzi
相关产品推荐
相关产品推荐

