Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why I got Error while Creating React App?

Tags:

npm

reactjs

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
like image 403
Ryuujo Avatar asked Jan 23 '19 04:01

Ryuujo


People also ask

Why React app is not creating?

If you really need create-react-app , you might need to reinstall Node and reconfigure your dependencies to ensure you have a fresh start with Node, npm, npx, and the like.

Which create React app not found?

Use npx to solve the error "create-react-app: command not found", e.g. npx create-react-app my-app or install the package globally by running npm install -g create-react-app to be able to use the command without the npx prefix. The fastest way to solve the error is to use the npx command. Copied!

Why NPX create next app not working?

If the global installation of create-next-app fails, you might have to run the command prefixed with sudo . Copied! Refer to the official npm page of the create-next-app package for command options. If the "create-next-app: command not found" error is not resolved, try restarting your terminal.


2 Answers

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.

like image 160
Saif Avatar answered Sep 20 '22 12:09

Saif


  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

like image 35
Parth Navadiya Avatar answered Sep 19 '22 12:09

Parth Navadiya