部署Quasar应用到Heroku失败:提示quasar命令未找到
部署Quasar应用到Heroku时出现"quasar: not found"错误的解决办法
问题场景
推送Quasar应用至Heroku时部署失败,错误提示:
remote: sh: 1: quasar: not found
现有配置
package.json 脚本与引擎配置
"scripts": { "lint": "eslint --ext .js,.vue ./", "format": "prettier --write \"**/*.{js,vue,scss,html,md,json}\" --ignore-path .gitignore", "test": "mocha", "build": "quasar build", "start": "node server.js", "heroku-postbuild": "npm install && npm run build" }, "engines": { "node": "18.16.1", "npm": "9.8.0", "yarn": ">= 1.21.1" }
开发依赖
"@quasar/app-vite": "^1.0.0",
已完成配置
已执行命令:heroku config:set NPM_PRODUCTION=false
问题原因与解决步骤
核心原因:
quasar命令未全局安装,且当前开发依赖仅包含@quasar/app-vite,未直接安装quasar-cli;同时Heroku环境下即使开启NPM_PRODUCTION=false,也无法直接调用本地node_modules内的命令。解决办法1:用npx调用quasar命令
修改package.json中的build脚本,通过npx直接调用本地依赖中的quasar:"build": "npx quasar build"npx会自动从本地
node_modules查找对应命令,找不到时会临时安装,可直接解决命令缺失问题。解决办法2:添加quasar-cli到开发依赖
在项目根目录执行以下命令,将quasar-cli安装为开发依赖:npm install --save-dev @quasar/cli提交更新后的
package.json和package-lock.json到Git,重新推送至Heroku即可。优化postbuild脚本
已设置NPM_PRODUCTION=false,Heroku会自动安装所有依赖(含开发依赖),可简化heroku-postbuild脚本,避免重复执行安装步骤:"heroku-postbuild": "npm run build"
内容的提问来源于stack exchange,提问作者Boris K
相关产品推荐
相关产品推荐

