推送到 heroku 时无法读取未定义的 属性 'match'
Cannot read property 'match' on undefined on pushing to heroku
尝试将项目推送到 heroku - 在使用 heroku-cli 和连接到 Github 时遇到同样的错误。
错误日志:
-----> Building dependencies
Installing node modules (package.json + package-lock)
npm ERR! Cannot read property 'match' of undefined
Package.json
{
"name": "myApp",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react-router-dom": "^4.3.1",
"react-scripts": "2.1.3",
"react-social-icons": "^4.1.0",
"react-spring": "^7.2.10"
},
...
"eslintConfig": {
"extends": "react-app"
},
"engines": {
"node": "10.13.0"
},
...
"devDependencies": {
"react": "^16.7.0"
}
}
React 最初不在 devDependencies 中 - 将它放在那儿是为了修复早期的错误。
问题仍然存在。
此问题很可能与您的 package-lock.json
有关。此文件会导致很多问题,但建议您 check it into source.
话虽如此,以下两件事之一应该可以解决您的问题:
- 首先尝试在本地删除
package-lock.json
和 node_modules
,然后重新安装所有依赖项:npm i
。完成后再次尝试推送到 Heroku。
- 如果上述建议不起作用,只需在本地删除
package-lock.json
文件,提交更改,然后再次尝试推送到 Heroku。
此外,您不必将 react
列为开发依赖项。您可以从 package.json
.
中删除它
只需删除锁定文件并重试即可。
我遇到了同样的问题,但是 none 上面提到的解决方案对我有用,我什至尝试使用 heroku-repo 插件清理我的远程仓库,顺便说一句,你可以使用 heroku plugins:install heroku-repo 然后是 heroku repo:reset -a appname 试试这个。
对我有用的解决方案是禁用 heroku 的 node_modules 缓存。 Heroku 维护一个缓存目录,该目录在构建之间持续存在。此缓存用于存储 npm、yarn 和 bower 的缓存。
尝试使用以下步骤。
- heroku config:set NODE_MODULES_CACHE=false
- 现在再次推送 - git push heroku master
您可能想从您的终端执行此操作 heroku config:set NODE_MODULES_CACHE=false
。对于同样的错误,这对我们有用。
尝试将项目推送到 heroku - 在使用 heroku-cli 和连接到 Github 时遇到同样的错误。
错误日志:
-----> Building dependencies
Installing node modules (package.json + package-lock)
npm ERR! Cannot read property 'match' of undefined
Package.json
{
"name": "myApp",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react-router-dom": "^4.3.1",
"react-scripts": "2.1.3",
"react-social-icons": "^4.1.0",
"react-spring": "^7.2.10"
},
...
"eslintConfig": {
"extends": "react-app"
},
"engines": {
"node": "10.13.0"
},
...
"devDependencies": {
"react": "^16.7.0"
}
}
React 最初不在 devDependencies 中 - 将它放在那儿是为了修复早期的错误。
问题仍然存在。
此问题很可能与您的 package-lock.json
有关。此文件会导致很多问题,但建议您 check it into source.
话虽如此,以下两件事之一应该可以解决您的问题:
- 首先尝试在本地删除
package-lock.json
和node_modules
,然后重新安装所有依赖项:npm i
。完成后再次尝试推送到 Heroku。 - 如果上述建议不起作用,只需在本地删除
package-lock.json
文件,提交更改,然后再次尝试推送到 Heroku。
此外,您不必将 react
列为开发依赖项。您可以从 package.json
.
只需删除锁定文件并重试即可。
我遇到了同样的问题,但是 none 上面提到的解决方案对我有用,我什至尝试使用 heroku-repo 插件清理我的远程仓库,顺便说一句,你可以使用 heroku plugins:install heroku-repo 然后是 heroku repo:reset -a appname 试试这个。
对我有用的解决方案是禁用 heroku 的 node_modules 缓存。 Heroku 维护一个缓存目录,该目录在构建之间持续存在。此缓存用于存储 npm、yarn 和 bower 的缓存。
尝试使用以下步骤。
- heroku config:set NODE_MODULES_CACHE=false
- 现在再次推送 - git push heroku master
您可能想从您的终端执行此操作 heroku config:set NODE_MODULES_CACHE=false
。对于同样的错误,这对我们有用。