创建React应用程序 - 构建在Netlify上一直失败,但在本地工作


10:52:56 PM: There might be a problem with the project dependency tree.
10:52:56 PM: It is likely not a bug in Create React App, but something you need to fix locally.
10:52:56 PM: The react-scripts package provided by Create React App requires a dependency:
10:52:56 PM:   "babel-jest": "23.6.0"
10:52:56 PM: Don't try to install it manually: your package manager does it automatically.
10:52:56 PM: However, a different version of babel-jest was detected higher up in the tree:
10:52:56 PM:   /opt/build/repo/node_modules/babel-jest (version: 24.7.1)
10:52:56 PM: Manually installing incompatible versions is known to cause hard-to-debug issues.
10:52:56 PM: If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
10:52:56 PM: That will permanently disable this message but you might encounter other issues.
10:52:56 PM: To fix the dependency tree, try following the steps below in the exact order:
10:52:56 PM:   1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
10:52:56 PM:   2. Delete node_modules in your project folder.
10:52:56 PM:   3. Remove "babel-jest" from dependencies and/or devDependencies in the package.json file in your project folder.
10:52:56 PM:   4. Run npm install or yarn, depending on the package manager you use.
10:52:56 PM: In most cases, this should be enough to fix the problem.
10:52:56 PM: If this has not helped, there are a few other things you can try:
10:52:56 PM:   5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
10:52:56 PM:      This may help because npm has known issues with package hoisting which may get resolved in future versions.
10:52:56 PM:   6. Check if /opt/build/repo/node_modules/babel-jest is outside your project directory.
10:52:56 PM:      For example, you might have accidentally installed something in your home folder.
10:52:56 PM:   7. Try running npm ls babel-jest in your project folder.
10:52:56 PM:      This will tell you which other package (apart from the expected react-scripts) installed babel-jest.
10:52:56 PM: If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
10:52:56 PM: That would permanently disable this preflight check in case you want to proceed anyway.
10:52:56 PM: P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!

所以我最近将新构建推向了我的应用程序,并遇到了上述错误,这与Babel-Jest有关。这不在我的软件包中。

构建在本地效果很好,我已经通过删除node_modules和package-lock.json来确认,所有这些都可以安装和运行。

当我推动掌握掌握时,NetLify记录了此错误,而不会继续进行。

因此,我修复了它的方法是在package-lock.json中搜索babel-jest。然后,我将该版本添加到package.json中的分辨率条目中,如下所示:

"resolutions": { "babel-jest": "23.6.0" }

这解决了问题,我的应用程序正确地发布了NetLify。

我知道这个问题有点旧,答案已经被选中,但是上述答案对我不起作用。因此,在这里我如何解决问题

将软件包 - 洛克.json放入.gitignore文件中,但是如果您已经将其上传到GitHub而不提到.gitignore文件,则将其从git Cache(local Repo(

中删除
git rm -r --cached package-lock.json
git add .
git commit -m 'Remove package-lock.json'
git push origin master

在您的NetLify站点goto网站设置 - > build&部署环境,并将以下内容放入环境变量

SKIP_PREFLIGHT_CHECK=true

并将以下内容放置以构建设置 - >如果您的NetLify build假定警告为错误

CI=false npm run build

最新更新