繁体   English   中英

Laravel/Vue/Heroku - 不支持在平台 linux 上跳过“fsevents”构建

[英]Laravel/Vue/Heroku - Skipping 'fsevents' build as platform linux is not supported

我一直在尝试在 Heroku 中使用 Vue 部署一个新的 Laravel,这是我遇到的错误。

Skipping 'fsevents' build as platform linux is not supported
npm ERR! Cannot read property 'length' of undefined

...

We're sorry this build is failing! You can troubleshoot common issues here:
https://devcenter.heroku.com/articles/troubleshooting-node-deploys

Some possible problems:

- Node version not specified in package.json
    https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version

Love,
Heroku

Push rejected, failed to compile Node.js app.
Push failed

我已经尝试过基本的 Heroku 故障排除指南。 另外,我设法找到了这个https://dev.to/saidichlil/comment/pn49 ,它似乎与评论无关,但仍然试一试并确认。

顺便说一下,我正在从连接到 heroku 的 github 存储库进行部署,而不是使用 Heroku CLI。

在您的pacakge.json您需要将引擎声明为上述@jake-price 以及此后期构建

"heroku-postbuild": "npm run production"

还要确保使用 heroku/php buildpack 选择了您的 heroku/nodejs 构建包

你完整的package.json可能看起来像这样

{
"private": true,
"engines": {
    "node": "12.x"
},
"scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "npm run development -- --watch",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --config=node_modules/laravel-mix/setup/webpack.config.js",
    "heroku-postbuild": "npm run production"
},
"devDependencies": {
    "@babel/preset-react": "^7.0.0",
    "axios": "^0.19",
    "bootstrap": "^4.0.0",
    "cross-env": "^7.0",
    "jquery": "^3.2",
    "laravel-mix": "^5.0.1",
    "lodash": "^4.17.19",
    "popper.js": "^1.12",
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "resolve-url-loader": "^3.1.0",
    "sass": "^1.15.2",
    "sass-loader": "^8.0.0"
}
}

尝试在 package.json 中放入您希望 Heroku 使用的 Node 版本

"engines": {
    "node": "12.x"
}

如果这不起作用,您也可以尝试使用以下命令安装它。 这将跳过可选的 fsevents 包(Linux 上不需要)

npm install --no-optional

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM