首页 > 解决方案 > 找不到模块'@babel/preset-react'

问题描述

我试图在 heroku 上部署我的reactjs rails 应用程序。

在我收到此错误之前,一切似乎都很好:

Module build failed (from ./node_modules/babel-loader/lib/index.js):
remote:        Error: Cannot find module '@babel/preset-react'

该应用程序在我的本地主机中运行良好。我尝试删除我的 node_modules 文件夹,然后运行 ​​npm install 但错误仍然存​​在(仅在部署 heroku 时)。

我的 package.json:

{
  "name": "App",
  "private": true,
  "dependencies": {
    "@rails/webpacker": "5.4.0",
    "@types/react": "^17.0.18",
    "@types/react-dom": "^17.0.9",
    "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
    "prop-types": "^15.7.2",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react_ujs": "^2.6.1",
    "webpack": "^4.46.0",
    "webpack-cli": "^3.3.12"
  },
  "devDependencies": {
    "@babel/plugin-syntax-jsx": "^7.14.5",
    "@babel/plugin-transform-react-jsx": "^7.14.9",
    "@babel/preset-env": "^7.15.0",
    "@babel/preset-react": "^7.14.5",
    "webpack-dev-server": "^3.11.2"
  }
}

标签: reactjsruby-on-railsheroku

解决方案


我设法部署它。我的答案基于这里:即使 NPM_CONFIG_PRODUCTION 为真,为什么会跳过 devDependencies 的修剪?

我所做的是设置:

NPM_CONFIG_PRODUCTION= false 
YARN_PRODUCTION = false
YARN_CONFIG_PRODUCTION = false

我测试了改变 ENV 值,这对我有用。

这可以在 config vars 下的 heroku 设置中设置


推荐阅读