繁体   English   中英

错误“您的缓存文件夹包含根拥有的文件,由于以前版本的 npm 中的错误”而“npx create-react-app example_app”

[英]Error "Your cache folder contains root-owned files, due to a bug in previous versions of npm" while "npx create-react-app example_app"

当我尝试使用npx create-react-app example_app创建一个新的反应应用程序时,我收到了这个错误

[您的缓存文件夹包含根拥有的文件,这是由于以前版本的 npm 中的一个错误,该错误已被解决 sudo chown -R 0:0 "/root/.npm"]

我什至尝试使用npm i create-react-app create-react-app -app ,它给出了同样的错误

我在搜索后假设这是由于某些权限问题。 我当前的用户无权访问/home/shubham/.npm ,其中shubham是我的用户名,但我对此不太确定。

我尝试使用chown命令解决此错误

sudo chown -R <username>:<groupname> /home/shubham/.npm" 

其中<username>Shubham并且<groupame>1000 ,但它仍然无法正常工作。

请求人们帮助我。 如果您需要更多信息,请告诉我。

这对我有用:

sudo npm cache clean --force 

在完成上述答案后,这对我有所帮助。 我希望它也对其他人有所帮助。 重新阅读 npm 错误提示后,我调整了提供的命令以包含错误消息中给出的 .npm 路径。 以下是我的原始错误消息的副本。

npm 错误! 代码 EACCES

npm 错误! 系统调用访问

npm 错误! 路径 /home/vagrant/ .npm-global /lib/node_modules

npm 错误! 错误号 -13

npm 错误!

npm 错误! 由于存在错误,您的缓存文件夹包含根拥有的文件

npm 错误! 以前版本的 npm 已被解决。

npm 错误!

npm 错误! 要永久解决此问题,请运行:

npm 错误! sudo chown -R 900:900 "/home/vagrant/.npm"

npm 错误! 可以在以下位置找到此运行的完整日志:

npm 错误! /home/vagrant/.npm/_logs/2020-07-09T16_43_35_046Z-debug.log

[ExecStack] 退出代码 243 时间 01:03

[错误] 执行 target-hook frontend-reqs 失败。

[错误] 命令source:build:frontend-reqs以代码 1 退出。

我没有使用sudo chown -R 900:900 "/home/vagrant/.npm" ,而是使用了sudo chown -R 900:900 "/home/vagrant/.npm-global" 之后,我能够使用导致错误的上一个命令而没有问题。

试试sudo chown -R 1000:1000 "/home/shubham/.npm"

在尝试更新我的 npm 包时,我遇到了同样的问题和其他几个问题。 老实说,我对包处理程序或者为什么这解决了我的情况没有足够的知识,但我相信我的 npm 和 npx 版本导致了问题。 我立即尝试使用我的旧版本和过时版本的 npm 安装 npx、node 和 create-react-app 时遇到错误。

没有--force ,我无法运行npm install npx -g 一旦我这样做了,我还运行了npm install npm -g --force 在此之后,我已经可以看出事情不同了。

在 npm 和 npx 被完全覆盖后,我运行npm install node -gnpm install create-react-app -g没有任何奇怪的问题。 我创建了一个新的 react 应用程序并启动它没有错误。

(在所有这些之前,我还运行了缓存命令。 sudo npm cache clean --force我不确定它是否有帮助)。

如果您正在使用 CI 并与其他团队共享 CI 从站,则可能无法sudo chown -R {group}:{user} "~/.npm" (即:在共享运行器上使用 Github Enterprise 和 Github Actions

我加

# use local cache to work-around 'npm ERR! path ~/.npm/_locks/staging-xxx.lock' in GHA
cache=./npm-cache

进入我的 .npmrc 在 repo 中通过使用本地 npm 缓存目录来解决问题

设置npm_config_cache环境变量

在Linux中

export npm_config_cache=/path/to/cache

在窗户里

set npm_config_cache=/path/to/cache

我必须同时执行根文件夹和root/.npm

sudo chown -R 1001:1001 "/root"
sudo chown -R 1001:1001 "/root/.npm"

我还在我的 MAC Catalina 上尝试了上述所有步骤,但没有解决我的问题。 这些步骤解决了我的问题:

npm update
npx --ignore-existing create-react-app my-app

感谢这条评论

它现在对我有用!

我做了什么? 我并不是说这是解决这个问题的最好方法,但我对我有用。我仍在寻找这个问题的最佳解释

  sudo rm -Rf /home/[YOUR_USER_NAME]/.npm-global/lib/node_modules/

并再次运行您的命令。

我的解释是,node_modules 文件夹中的某些内容似乎已损坏。 因为删除它没有风险,所以我做到了,它现在可以工作了。

尝试sudo npx create-react-app example_app或在我的情况下sudo npm install @vue/cli

我在这里尝试了其他所有方法,但最后意识到这可能只是我正在运行的命令无法升级正确的权限。

这将起作用: sudo chown -R 1000:1000 "~/.npm"

强制清理缓存和使用chown都不适合我,但删除文件夹确实有效并解决了问题。

我的错误是:

npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
npm ERR! 
npm ERR! To permanently fix this problem, please run:
npm ERR!   sudo chown -R 501:20 "/Users/aw/.npm"

修复方法是永久删除有问题的.npm文件夹,我使用rm -rf完成了该操作:

sudo rm -rf /Users/aw/.npm

(强制警告:如果输入错误,这是一个危险的命令。)

在日志文件中查找错误:

 verbose Error: EACCES: permission denied, mkdir '/Users/xxx/.tnpm_tmp/npm-52731-e91f6671'

在您的情况下使用该错误。

sudo chown -R 502:20 "/Users/XXX/.tnpm_tmp"

我用以下命令解决了这个问题

  1. 安装依赖 > npm install create-react-app
  2. 运行 > create-react-app project_name

快乐黑客!

我遇到了同样的问题,我的问题是我运行的是旧版本的 npm。 更新 npm 并删除 .npmrc 文件后,它工作得很好。

npm install -g npm@latest
rm .npmrc

在删除 .npmrc 文件之前要小心,请进行备份,因为它会重置您的 npm 配置。

尝试使用纱线包管理器创建您的反应应用程序。

它帮助了我:再次删除并安装 npm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM