Ryuujo
Ryuujo

Reputation: 623

Why I got Error while Creating React App?

I was new and want to learn ReactJS and I start to install a new empty folder with npx create-react-app . command. I have npm v.6.4.1. and when I try to execute the command, it gave me an error.

Error: EPERM: operation not permitted, mkdir 'C:\Users\LOGIVAR'
TypeError: Cannot read property 'get' of undefined
    at errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
    at C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js:78:20
    at cb (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:228:22)
    at C:\Program Files\nodejs\node_modules\npm\lib\npm.js:266:24
    at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:83:7
    at Array.forEach (<anonymous>)
    at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:82:13
    at f (C:\Program Files\nodejs\node_modules\npm\node_modules\once\once.js:25:25)
    at afterExtras (C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:173:20)
    at C:\Program Files\nodejs\node_modules\npm\node_modules\mkdirp\index.js:47:53
C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205
  if (npm.config.get('json')) {
                 ^

TypeError: Cannot read property 'get' of undefined
    at process.errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
    at process.emit (events.js:182:13)
    at process._fatalException (internal/bootstrap/node.js:485:27)
Install for create-react-app@latest failed with code 7

I already do the same command on Laravel empty project, but I still gives me the same error.

Can you tell me what's the main cause problem and how to fix this?

EDIT: I already run the terminal as administrator, but I receive another error:

npm ERR! code ENOLOCAL
npm ERR! Could not install from "2\AppData\Roaming\npm-cache\_npx\10552" as it does not contain a package.json file.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\LOGIVAR TY 2\AppData\Roaming\npm-cache\_logs\2019-01-23T04_18_56_036Z-debug.log
Install for create-react-app@latest failed with code 1

Upvotes: 19

Views: 27710

Answers (14)

DP3PO
DP3PO

Reputation: 71

I encountered a similar issue due to a space in my username. Here's a concise guide on what didn't work and the solution that finally did:

Attempts that failed:

  • Clear the npm cache: npm cache clear -f
  • Verify the cache: npm cache verify
  • Update the cache path with "~!"

Successful solution:

  1. Reinstall npm globally: npm -g install npm
  2. Create a new React app: npm init react-app my-app

This approach resolved my issue. Hopefully, it helps you too!

Upvotes: 1

zuhair sakharkar
zuhair sakharkar

Reputation: 1

I was facing the same problem. I opened my cmd in administrative mode and it worked for me. Do try this if this is not working above any of the one solution could work.

Upvotes: 0

Remeshkrishna
Remeshkrishna

Reputation: 11

The following commands worked for me:

  1. npm install -g create-react-app
  2. npx create-react-app project-name

Upvotes: 1

Rafiyuddin Shaikh
Rafiyuddin Shaikh

Reputation: 1

I got the problem solved . I was trying to install react from my nodejs folder location which is installed under program file folder. However while checking config file I have found differet path which C:\users\admin . I switch to that folder and try and got success. So check the path in config file and install that folder path.

Upvotes: -1

JGS
JGS

Reputation: 13

Check your node version. If you are using like node v14 it might be the problem. In my case, since I switch between different versions with NVM, I than realized that I was using v14 rather than v16+.

To see your current node version, open your terminal and type: node -v

Upvotes: 0

akhilesh59
akhilesh59

Reputation: 1

I was also getting the same error:

Error: EPERM: operation not permitted, mkdir 'C:\Users\Username'
command not found: create-react-app

Then the below command worked for me:

  1. npm install -g create-react-app
  2. npx create-react-app project-name

Upvotes: 0

sidharth panda
sidharth panda

Reputation: 1

I ran into a similar issue while creating a React app from Linkedin Learning it had the command - npx create-react-app my-website --use-npm to create a new React application but didn't mention if it required any prerequisite.

So in order to run the above command, first install the create-react-app with npm install -g create-react-app

Upvotes: 0

Parth Navadiya
Parth Navadiya

Reputation: 720

  1. First to install globally

    npm install -g create-react-app
    
  2. Create your new app

    npx create-react-app your-app-name
    

    this worked for me

Upvotes: 33

Saif
Saif

Reputation: 1905

In my case the actual issue was due to the presence of a space in my windows user name folder. Which also appears to be the case here by looking at the first line of the stack trace,

Error: EPERM: operation not permitted, mkdir 'C:\Users\LOGIVAR'

Since there is no directory present named LOGIVAR its trying to run mkdir, for which its getting operation not permitted.

Following is how i fixed it thanks to citoreek, g8up & gijswijs

run npm config edit to edit your config, this will open up a text file in notepad or your configured editor,

then change cache path from

; cache=C:\Users\Gijs van Dam\AppData\Roaming\npm-cache

to

cache=C:\Users\GIJSVA~1\AppData\Roaming\npm-cache

Remember to remove the ; at the start, next question would be how do we know to replace our user name with GIJSVA~1?

There are a couple of ways to target this,

  1. Go to C:\Users open power Shell and execute following command

cmd /c dir /x

what this does is, list down all the directories in current directory along with their short names which aren't supposed to contain any spaces and normally are 6 characters or less in length. Copy that short name against your user name directory and use this in your cache path.

You will notice these short names only exist for directories either containing spaces or which are longer than 6 characters, for the rest of the directories their short names will be same as their directory name,

  1. If you don't want to use above command, then simply remove all the spaces from your user name in your cache path, then take the first 6 characters of the user directory name and postfix it with ~1. You should also uppercase it, but it appears not to be making any difference.

After you are done with editing this file, save your changes then try again after closing any active power shell / bash process and reopening them.

Upvotes: 34

zed
zed

Reputation: 21

The above stated problem is due to the white space contained in the folder name. Best way is to make changes the config file.

Enter npm config edit to enter into your config file

Then change

; cache=C:\Users\Sinojia Zeel\AppData\Roaming\npm-cache

to

cache=C:\Users\SINOJI~1\AppData\Roaming\npm-cache

Don't forget to remove semi-colon from the front

The SINOJI~1 can be replaced with your folder name that contains white space. Just take first 6 letters of your file name and in suffix add ~1(Capitalizing the file name is optional but often it is done)

Save the file and exit and re-run the npx create-react-app . command.

Upvotes: 1

Pavan Reddy
Pavan Reddy

Reputation: 11

First install create-react-app

npm  install create-react-app

then

npx create-react-app app-name

Upvotes: 0

Lev Korsunskyi
Lev Korsunskyi

Reputation: 36

This is an issue with npx. Your computer name has a space in it. I'd recommend npm install -g create-react-app to get around the npx issue.

Upvotes: 1

user10594403
user10594403

Reputation:

add project name like this in your command:

 npx create-react-app your-project-name

Upvotes: 1

Bon Andre Opina
Bon Andre Opina

Reputation: 2228

Have you tried running this as admin?

Upvotes: 9

Related Questions