3

We have a project using @material-ui. It's built upon:

  • create-react-app: 3.4
  • node: 10.18.1
  • yarn: 1.21.1
  • @material-ui: 4.9.x

This problem is weird: i can yarn start and yarn build locally, the versions are exactly the same as server. However, after I push to server, it failed:

[4/4] Building fresh packages...
success Saved 1 new dependency.
info Direct dependencies
└─ @material-ui/icons@4.9.1
info All dependencies
└─ @material-ui/icons@4.9.1
Done in 8.27s.
+ yarn run build:dev
yarn run v1.21.1
$ cp .env.sample .env && react-scripts build
The following changes are being made to your tsconfig.json file:
  - compilerOptions.paths must not be set (aliased imports are not supported)

Creating an optimized production build...
Failed to compile.

./node_modules/@material-ui/icons/esm/index.js
Cannot find module: './AccessAlarm'. Make sure this package is installed.

You can install this package by running: yarn add ./AccessAlarm.

The building steps on server is:

node -v
rm yarn.lock
rm -rf build node_modules
yarn install
yarn add @material-ui/core   // I have tried to run with and w/o these two lines
yarn add @material-ui/icons
yarn run build:dev

Anyone has any ideas about this? Thanks.

CoryCoolguy
  • 1,065
  • 8
  • 18
Joy
  • 9,430
  • 11
  • 44
  • 95

2 Answers2

1

yarn cache clean does the trick.

Joy
  • 9,430
  • 11
  • 44
  • 95
1

In my case the error was occuring locally and this is what fixed it:

yarn add @material-ui/core

Then

yarn link  

Then

yarn upgrade @material-ui/core  

Then

yarn upgrade @material-ui/icons  

Then

npm start
Gabriel Arghire
  • 1,992
  • 1
  • 21
  • 34