我正在尝试将我的应用程序部署到Heroku,它可以在本地运行,但在线上没有运气。我删除并重新安装了节点模块。
我还有另一个与此完全相关的错误(文件找不到相同的名称等),我改变了相对路径,以解决此问题,但没有任何结果
错误是:
找不到文件'./Components/SearchBar/SearchBar'
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import SearchBar from './Components/SearchBar/SearchBar'
import BusinessList from './Components/BusinessList/BusinessList'
import Business from './Components/Business/Business'
import Yelp from './Components/Util/Yelp'
我希望不会因为简单的错误而出错,我已经遍历了文件名和文件夹名,但这根本没有道理。
PS,我认为它可能是未连接的,我的const yelpApiKey = process.env.yelpApiKey可以让我的heroku连接到我的API密钥(在我的帐户中键入)
答案 0 :(得分:2)
谢谢@Jason提出这个问题,感谢@Rakesh回答。
我在Heroku上部署了 create-react-app 项目,然后在构建项目失败时遇到了类似的错误。错误是 routes.js 无法导入 signup.js
Heroku日志
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_ENV=production
NODE_MODULES_CACHE=false
NODE_VERBOSE=false
-----> Installing binaries
engines.node (package.json): 10.16.3
engines.npm (package.json): unspecified (use default)
Resolving node version 10.16.3...
Downloading and installing node 10.16.3...
Using default npm version: 6.9.0
-----> Restoring cache
Caching has been disabled because NODE_MODULES_CACHE=false
-----> Installing dependencies
Installing node modules (package.json + package-lock)
> core-js@2.6.9 postinstall /tmp/build_5d506b6dfc93b7f4b6575e02cc682130/node_modules/babel-runtime/node_modules/core-js
> node scripts/postinstall || echo "ignore"
> core-js@3.2.1 postinstall /tmp/build_5d506b6dfc93b7f4b6575e02cc682130/node_modules/core-js
> node scripts/postinstall || echo "ignore"
added 1507 packages from 719 contributors and audited 905071 packages in 35.746s
found 0 vulnerabilities
-----> Build
Running build
> chat-app@0.1.0 build /tmp/build_5d506b6dfc93b7f4b6575e02cc682130
> react-scripts build
Creating an optimized production build...
Failed to compile.
./src/routes.js // my beautiful error here
Cannot find file './Components/User/signup/signup.js' in './src'.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! chat-app@0.1.0 build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the chat-app@0.1.0 build 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.ynm0W/_logs/2019-09-30T15_24_32_571Z-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
Heroku在Linux服务器上部署项目,这意味着如果您出错将导致构建失败,则区分大小写。我建议在命名文件和目录时坚持小写字母。
my project structure
|root
|src
| componets
| user
| signup
|routes
|index.js
纠正错误后,我仍然遇到相同的错误。所以为什么? 我没有注意到Git不会推动更改。当您仅重命名目录时,即使您执行 git add , git commit 和 git push Git有时也不会考虑更改。我建议更改后转到网站进行验证。
部署到Heroku时,请仅部署基础分支。例如 Master 或 develop 。我意识到每次部署功能分支时,Heroku都会自动检测到我的基础分支,该分支是 develop 。
答案 1 :(得分:0)
我发现您的代码有2个问题:
在index.js中导入“ App”是错误的。使用以下内容
import App from './App';
答案 2 :(得分:0)
我尝试了以上所有建议,但没有一个对我有用。最终,我所做的是删除抱怨为heroku丢失的文件,并用一个虚拟组件替换了它。之后,签入我对heroku的更改。现在一切都应该成功部署。
最后,我可以将原来的虚拟组件替换回原来的虚拟组件,然后再次检入heroku和hallelujah,它起作用了!!!!
希望我的解决方法可以节省某人的时间:)
谢谢
答案 3 :(得分:0)
就我而言,我在本地重命名了文件,但是当我将其推送到github时,它并没有反映在那里。所以我删除了该文件,并制作了具有相同内容的新文件,并且可以正常工作!
答案 4 :(得分:0)
Heroku 上的这个问题通常是由于您将组件重命名的事实,例如将 MyComponent 重命名为 Mycomponent,并且 git cache 和 heroku build cache 都可能导致该问题。解决方案是这样的:Failed to compile: Cannot find file './containers/App/App' in './src' 并清理 heroku 构建缓存以确保安全: https://help.heroku.com/18PI5RSY/how-do-i-clear-the-build-cache