为什么在创建React App时出错?

时间:2019-01-23 04:11:06

标签: reactjs npm

我是新手,想学习ReactJS,所以我开始使用npx create-react-app .命令安装一个新的空文件夹。我有npm v.6.4.1。当我尝试执行命令时,它给了我一个错误。

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

我已经在Laravel空项目中执行了相同的命令,但是我仍然给我相同的错误。

您能告诉我主要的原因是什么以及如何解决此问题吗?

编辑:我已经以管理员身份运行终端,但是收到另一个错误:

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

12 个答案:

答案 0 :(得分:10)

  1. 首先要全局安装

    npm install -g create-react-app
    
  2. 创建新应用

    npx create-react-app your-app-name
    

    这对我有用

答案 1 :(得分:3)

对于我来说,实际问题是由于Windows用户名文件夹中存在空格。通过查看此处的堆栈跟踪的第一行,情况似乎也是如此。

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

由于没有名为LOGIVAR的目录,因此它无法尝试运行mkdir,因此不允许对其进行获取操作。

以下是我通过citoreek, g8up & gijswijs

修复它的方法

运行npm config edit以编辑您的配置,这将在记事本或您配置的编辑器中打开一个文本文件,

然后从{p>更改cache path

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

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

请记住一开始要删除;, 下一个问题是我们如何知道将用户名替换为GIJSVA~1

有几种方法可以解决这个问题,

  1. 转到C:\Users打开电源外壳并执行以下命令
  

cmd / c目录/ x

这是什么,请列出当前目录中的所有目录及其短名称,这些短名称不应包含任何空格,并且长度通常不超过6个字符。将该短名称复制到您的用户名目录中,并在您的缓存路径中使用它。

您会注意到,这些短名称仅适用于包含空格或长度超过6个字符的目录,对于其余目录,其短名称将与其目录名相同,

  1. 如果不想使用上述命令,则只需从用户名中删除高速缓存路径中的所有空格,然后使用用户目录名的前6个字符并将其后缀〜1。您还应该将其大写,但似乎没有任何区别。

完成此文件的编辑后,保存所做的更改,然后在关闭任何活动的Power Shell / bash进程并重新打开它们之后重试。

答案 2 :(得分:2)

您是否尝试过以管理员身份运行它?

答案 3 :(得分:0)

在命令中添加这样的项目名称:

 npx create-react-app your-project-name

答案 4 :(得分:0)

这是npx的问题。您的计算机名称中有一个空格。我建议使用npm install -g create-react-app来解决npx问题。

答案 5 :(得分:0)

上述问题是由于文件夹名称中包含空白。最好的方法是更改​​配置文件。

输入npm config edit进入您的配置文件

然后更改

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

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

别忘了从前面删除分号

SINOJI~1可以替换为包含空格的文件夹名称。 只需输入文件名的前6个字母并在后缀中添加~1(大写的文件名是可选的,但通常可以这样做)

保存文件,然后退出并重新运行npx create-react-app .命令。

答案 6 :(得分:0)

我在使用Linkedin创建React应用时遇到了类似的问题,得知它具有以下命令- npx create-react-app my-website --use-npm 创建一个新的React应用程序,但没有提到它是否需要任何先决条件。

因此,要运行上述命令,请先使用以下命令安装create-react-app npm install -g create-react-app

答案 7 :(得分:0)

  • 我也面临这个问题。 我的 Windows 用户名中也有空格,但没有发生问题,因为在我的情况下,它是由于 Windows 中的默认执行策略而发生的。
  • 您可以通过以下命令查看您的执行策略。
Get-ExecutionPolicy
  • 默认情况下,它将是“AllSigned”,这是导致错误的原因。
  • 您只能通过以下命令为您的项目更改此设置,此命令不会影响您的 windows 全局执行策略。
Set-ExecutionPolicy Bypass -Scope Process

注意:

  1. 就我而言,每次在 Visual Studio 代码编辑器中重新打开项目时,我都必须运行上述命令。
  2. 确保您的当前目录是您的项目目录,或您要创建项目的目录。

答案 8 :(得分:0)

我也遇到了同样的错误:

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

然后下面的命令对我有用:

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

答案 9 :(得分:0)

以下命令对我有用:

  1. npm install -g create-react-app
  2. npx create-react-app 项目名称

答案 10 :(得分:0)

如果您仍然面临这个问题,那么以上所有 -

我的名字中的空格也有同样的问题,我试过:

  1. npm 缓存清除 -f
  2. npm 缓存验证
  3. 用“~!”更新缓存路径

这些都不适合我,但后来我跑了:

  1. npm -g 安装 npm
  2. npm init react-app my-app

...它终于奏效了。希望这可以帮助那里的人

答案 11 :(得分:-1)

首先安装create-react-app

android:onClick="@{overrideHistory::onClickDeleteButton}"

public void onClickDeleteButton(view: View) {
    overrideViewModel.deletePendingOverride(overrideId);
}

然后

npm  install create-react-app