我试着把我的git推给Heroku,但它在最后给出了一个错误。我在控制台上部署了一个项目,因为我知道警告对于崩溃整个应用程序来说并不是什么大问题。当我浏览控制台时,我注意到严重错误是
quasar: not found
error Command failed with exit code 127. 据我所知,是npm或纱线包出了问题,但不知道具体是什么。我在json文件中指定了我在计算机上拥有的相同版本的node和相同版本的npm。我不使用纱线,这会是一个问题吗?
这是我的json
{
"name": "portfolio",
"version": "0.0.1",
"description": "A Quasar Framework app",
"productName": "Eldar Tailov",
"author": "'Eldar' <'tailov47@gmail.com'>",
"private": true,
"scripts": {
"build": "quasar build",
"start": "node server.js",
"heroku-postbuild": "yarn && yarn build"
},
"dependencies": {
"@quasar/extras": "^1.0.0",
"axios": "^0.20.0",
"connect-history-api-fallback": "^1.6.0",
"core-js": "^3.6.5",
"express": "^4.17.1",
"quasar": "^1.0.0",
"serve-static": "^1.14.1",
"vue2-google-maps": "^0.10.7"
},
"devDependencies": {
"@quasar/app": "^2.0.0",
"babel-eslint": "^10.0.1",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.9.0",
"eslint-loader": "^3.0.3",
"eslint-plugin-vue": "^6.1.2",
"workbox-webpack-plugin": "^5.1.4"
},
"browserslist": [
"last 10 Chrome versions",
"last 10 Firefox versions",
"last 4 Edge versions",
"last 7 Safari versions",
"last 8 Android versions",
"last 8 ChromeAndroid versions",
"last 8 FirefoxAndroid versions",
"last 10 iOS versions",
"last 5 Opera versions"
],
"engines": {
"node": "~12.18.2",
"npm": "~6.14.5",
"yarn": ">= 1.21.1"
}
}这是heroku的日志
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_ENV=production
NODE_MODULES_CACHE=true
NODE_VERBOSE=false
-----> Installing binaries
engines.node (package.json): ~12.18.2
engines.npm (package.json): ~6.14.5
engines.yarn (package.json): >= 1.21.1
Resolving node version ~12.18.2...
Downloading and installing node 12.18.4...
Bootstrapping npm ~6.14.5 (replacing 6.14.6)...
npm ~6.14.5 installed
Resolving yarn version >= 1.21.1...
Downloading and installing yarn (1.22.5)
Installed yarn 1.22.5
-----> Installing dependencies
Installing node modules
> core-js@3.6.5 postinstall /tmp/build_bc8b4d0e_/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> fsevents@1.2.13 install /tmp/build_bc8b4d0e_/node_modules/webpack-dev-server/node_modules/fsevents
> node install.js
Skipping 'fsevents' build as platform linux is not supported
> ejs@2.7.4 postinstall /tmp/build_bc8b4d0e_/node_modules/ejs
> node ./postinstall.js
> fsevents@1.2.13 install /tmp/build_bc8b4d0e_/node_modules/watchpack-chokidar2/node_modules/fsevents
> node install.js
Skipping 'fsevents' build as platform linux is not supported
> node-sass@4.14.1 install /tmp/build_bc8b4d0e_/node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/linux-x64-72_binding.node
Download complete
Binary saved to /tmp/build_bc8b4d0e_/node_modules/node-sass/vendor/linux-x64-72/binding.node
Caching binary to /tmp/npmcache.XZGoT/_cacache/node-sass/4.14.1/linux-x64-72_binding.node
> node-sass@4.14.1 postinstall /tmp/build_bc8b4d0e_/node_modules/node-sass
> node scripts/build.js
Binary found at /tmp/build_bc8b4d0e_/node_modules/node-sass/vendor/linux-x64-72/binding.node
Testing binary
Binary is fine
> core-js@2.6.11 postinstall /tmp/build_bc8b4d0e_/node_modules/babel-runtime/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
added 1590 packages in 23.801s
-----> Build
Detected both "build" and "heroku-postbuild" scripts
Running heroku-postbuild
> portfolio@0.0.1 heroku-postbuild /tmp/build_bc8b4d0e_
> yarn && yarn build
yarn install v1.22.5
info No lockfile found.
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/5] Validating package.json...
[2/5] Resolving packages...
warning vue2-google-maps > babel-runtime > core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning @quasar/app > webpack-dev-server > chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning @quasar/app > webpack-dev-server > chokidar > fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
warning @quasar/app > node-sass > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning @quasar/app > node-sass > node-gyp > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning @quasar/app > node-sass > request > har-validator@5.1.5: this library is no longer supported
warning @quasar/app > webpack > watchpack > watchpack-chokidar2 > chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning @quasar/app > stylus > css-parse > css > urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
warning @quasar/app > webpack-dev-server > chokidar > braces > snapdragon > source-map-resolve > urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
warning @quasar/app > webpack-dev-server > chokidar > braces > snapdragon > source-map-resolve > resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
warning eslint-loader@3.0.4: This loader has been deprecated. Please use eslint-webpack-plugin
warning workbox-webpack-plugin > workbox-build > rollup-plugin-babel@4.4.0: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.
warning workbox-webpack-plugin > workbox-build > @hapi/joi@15.1.1: joi is leaving the @hapi organization and moving back to 'joi' (https://github.com/sideway/joi/issues/2411)
warning workbox-webpack-plugin > workbox-build > @hapi/joi > @hapi/address@2.1.4: This version has been deprecated and is no longer supported or maintained
warning workbox-webpack-plugin > workbox-build > @hapi/joi > @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
warning workbox-webpack-plugin > workbox-build > @hapi/joi > @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
warning workbox-webpack-plugin > workbox-build > @hapi/joi > @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
warning workbox-webpack-plugin > workbox-build > @hapi/joi > @hapi/topo > @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
[3/5] Fetching packages...
info fsevents@2.1.3: The platform "linux" is incompatible with this module.
info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@1.2.13: The platform "linux" is incompatible with this module.
info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
warning " > eslint-loader@3.0.4" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning " > workbox-webpack-plugin@5.1.4" has unmet peer dependency "webpack@^4.0.0".
[5/5] Building fresh packages...
success Saved lockfile.
Done in 45.19s.
yarn run v1.22.5
$ quasar build
/bin/sh: 1: quasar: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! portfolio@0.0.1 heroku-postbuild: `yarn && yarn build`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the portfolio@0.0.1 heroku-postbuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /tmp/npmcache.XZGoT/_logs/2020-09-28T01_01_55_709Z-debug.log
-----> Build failed
We're sorry this build is failing! You can troubleshoot common issues here:
https://devcenter.heroku.com/articles/troubleshooting-node-deploys
If you're stuck, please submit a ticket so we can help:
https://help.heroku.com/
Love,
Heroku
! Push rejected, failed to compile Node.js app.
! Push failed发布于 2021-02-01 09:06:32
我遇到了和你完全一样的问题。我能够从这个链接中的建议中修复它。我认为这是因为@quasar/app被列在了开发依赖项中。
https://devcenter.heroku.com/articles/nodejs-support#heroku-specific-build-steps
基本上,我更新了package.json的引擎部分以匹配我的本地环境
"engines": {
"node": ">= 12.18.3",
"npm": ">= 6.14.11",
"yarn": ">= 1.22.5"
}然后将heroku上的YARN_PRODUCTION环境变量设置为false
heroku config:set YARN_PRODUCTION=false
我希望你会发现这是有用的(附注:当然不要在引擎部分设置静态值,而是使用通配符)
发布于 2021-06-28 12:43:20
Quasar可能不是全局安装在heroku上的,
尝试使用npx运行它:
"scripts": {
...
"build": "npx quasar build -m ssr",
"start": "cd dist/ssr; npm i; npm start"
}https://stackoverflow.com/questions/64094752
复制相似问题