Npm请以root /管理员身份再次尝试使用此命令


102

我一直在拼命尝试使用node.js安装模块,但始终无法通过npm获取软件包。

我以管理员身份登录,并使用powershell / cmd和“以管理员身份运行”。我的注册表也有问题,因此我使用了npm set注册表http://registry.npmjs.org/

我尝试了一切...这简直让我发疯。

错误如下:

npm ERR!请尝试以root / Administrator身份再次运行此命令。

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "generator-knockout"
npm ERR! cwd D:\Sergiu\Knockout Test
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js
npm ERR! fstream_path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js'
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE'
npm ERR!  { [Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE']
npm ERR!   errno: 50,
npm ERR!   code: 'EPERM',
npm ERR!   path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE',
npm ERR!   fstream_type: 'File',
npm ERR!   fstream_path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE',
npm ERR!   fstream_class: 'FileWriter',
npm ERR!   fstream_stack:
npm ERR!    [ 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\fstream\\lib\\writer.js:284:26',
npm ERR!      'Object.oncomplete (fs.js:107:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

3
我的node_modules文件夹设置为只读!右键单击属性并进行修复。:}
Vael Victus

Answers:


105

事实证明,您不必以管理员身份再次运行命令,这样做不会解决问题。

尝试:

  1. npm cache clean 第一。

  2. 如果仍不能解决问题,请查看%APPDATA%\npm-cache,或者使用PowerShell $env:APPDATA\npm-cache

清除缓存后,您可能仍然会留下残留物。手动删除该目录中的所有内容,然后重试。这始终为我解决了问题。

正如@Crazzymatt所提到的那样,从npm @ 5版本开始,我们需要使用npm cache verify而不是npm cache clean。否则,您将收到如前所述的错误。

npm ERR!从npm @ 5开始,npm缓存会因损坏问题而自我修复,并且保证从缓存中提取的数据是有效的。如果要确保所有内容都一致,请改用“ npm cache verify”。

(来源:MSDN博客文章


16
从NPM5开始,您可以运行对我
有用的

8
有时npm cache clean会给您警告,所以您可能希望通过执行强制对其进行清洁npm cache clean --force
its.david

1
npm install --save xxx再次运行命令(例如)再次对我有用。
FirstOne

试试:npm缓存验证
MagGGG

就我而言,我必须在清除%APPDATA%\ npm-cache文件夹后重新启动计算机。10.视窗
rey_coder

47

我解决了以管理员cmd运行的问题。清理缓存 npm cache clean -f ,然后尝试再次安装软件包


我做到了,但是没有用。我也以管理员身份运行了该命令。
Huy Ngo

5
这在Windows 10上对我
有用

19

您应该以管理员身份运行cmd.exe。

请按照以下步骤操作:

  • 单击开始,单击所有程序,然后单击附件。
  • 用鼠标右键单击命令提示符,然后单击以管理员身份运行。

17

这是我在Windows(7)Dev中修复此问题的方法。环境。我假设以下...

  • 您正在通过右键单击以管理员身份运行 命令提示符Git BashCmder或您喜欢的终端
  • 已授予读/写特权(即chmod -777)

好吧,让我们开始吧:

  1. 例如,更新版本检查返回警告(“ npm WARN” ..)的所有软件包。

    npm更新-g npm

    npm更新-g graceful-fs

  2. 接下来我们要强迫一个缓存清理。这用“ --f”“ -f”标记

    npm缓存清理--f

  3. 寡妇资源管理器中搜索以下路径

%APPDATA%\ npm-cache

删除它的内容

  1. 启动终端的新实例,记住“右键单击”和“以管理员身份运行 ”,再次安装软件包。

希望这对某人有帮助!


我已经尝试了许多对其他人有用的解决方案,但是该死的.... npm install --save-dev webpack对我没有成功。几周前,它运行良好,我将使用所有相同的命令重新制作一个教程,但没有权限或任何不允许我安装的命令。我发现了这一点: github.com/npm/npm/issues/18380
JoshYates1980 '17

npm install --no-optional webpack为我工作后,我回滚到npm i -g npm@5.3
JoshYates1980 '17

对于Windows 7用户,此解决方案应进一步完善。为我工作。
Undrium

删除npm-cache的内容对我有用。谢谢
艾文



5

如果您正在使用TFS或项目的任何其他源代码管理将签入的文件设置为只读模式,则必须确保在运行npm install之前将package.json签出。我已经多次犯了这个错误。


4

尝试执行以下步骤

1.在终端机或CMD上运行此命令 -npm cache clean

2.转到Windows上的该文件夹,%APPDATA%\npm-cache然后删除要安装模块的文件夹(Ex:-laravel-elixir),或者如果使用的是PowerShell,则$ env:APPDATA \ npm-cache

3.然后运行您的命令 EX:- npm install laravel-elixir


如果这样做不起作用,请%APPDATA%\npm删除并删除两个ng文件,然后尝试。
dev

4

这是我在Windows中解决问题的方法。我正在尝试为Angular安装CLI。

  1. 关闭防火墙和防病毒保护。

  2. 右键单击“ nodejs”文件夹(在“程序文件”下),选择“属性”(一直向下滚动),单击“安全性”选项卡,然后单击“允许”列中的所有项(对于“所有系统软件包”以及允许您添加以下项的任何用户或组) “允许”复选标记)。

  3. 单击Windows图标。键入cmd。右键单击顶部结果,然后选择“以管理员身份运行”。出现命令窗口。

  4. 键入npm cache clean。如果有错误,请关闭日志文件或任何打开的文件,然后重新运行。

  5. 键入npm install -g @ angular / cli(或您正在使用的任何npm install命令)

  6. 通过键入ng –version来检查安装(或验证安装所需的任何内容)

祝好运!注意:如果仍然有问题,请检查环境变量中的路径。(要访问:控制面板→系统和安全性→系统→高级系统设置→环境变量。)我的路径变量包括以下内容:C:\ Users \ Michele \ AppData \ Roaming \ npm


谢谢@tigerRose。很好的指示。似乎可以帮助我取得进步。
Sandi Laufenberg-Deku'7

1
最后,再次打开“关闭防火墙和防病毒保护”
JoshYates1980 '17

3

我遇到了同样的问题,尽管我的帐户已经设置为管理员,但我为解决该问题所做的是以管理员身份运行了cmd.exe。



2

这是这种情况下经常发生的流程。您运行没有管理员权限的命令,则会收到message npm ERR! Please try running this command again as root/Administrator.。然后,您再打开一个CLI(cmd,powershell,bash或其他),而不关闭前一个CLI。看来您在同一目录中打开了两个提示。在关闭没有管理员权限的CLI之前,您将不断得到npm ERR! Please try running this command again as root/Administrator. 如此关闭且没有管理员权限的CLI,然后再运行新的CLI

注意:很多IDE都嵌入了CLI(Visual Studio,VS Code等),因此也请关闭IDE实例


2

我遇到了同样的问题,并且通过清理缓存修复了错误:

npm cache clean -f



1

我将这个问题弄乱了2次,并在这里尝试了所有建议,但效果平平。

  • 我第一次尝试(幸运的是成功)通过:

    1. 删除项目中的node_modules文件夹

    2. npm clean cache -f

    3. 检查%APPDATA%/npm-cache并删除所有内容(如果不为空)

    4. 以管理员身份启动终端机(我认为,这不是权限问题,但是如果这样做,不会有任何伤害)

    5. npm install 然后 npm update

    6. 您会得到错误,只需手动安装每个会引发错误的模块,然后逐步尝试消除所有错误

但是,此方法非常令人沮丧,并且并非每次都有效。所以试试这个:

  • 第二次,我无法执行上述步骤,因此尝试完全重新安装npm,但失败了。所以我认为我的node.js安装一定有问题。我的团队正在运行6.10。我有6.11。并尝试使用6.10。没有运气。

    1. 因此,我彻底清除了系统中的所有内容。删除了所有节点模块,检查了节点或npm所在的每条路径,并清理了我的系统。

    2. 然后我安装了最新的8.1.3

    3. 删除了我的项目并将其克隆到另一个完整的目录中。

    4. 现在,我安装并更新了所有内容 npm install npm update

    5. 然后,我仅编译了2个模块,并手动安装了它们

Tadaaaaa,现在正在工作。因此,总而言之,这是node.js的问题。我建议遇到此问题的每个人:尝试不同的节点版本!并清洁所有东西。


1

作为解决此错误的最后手段,我创建了一个新的Windows 10虚拟机并安装了最新的nodejs(v6)。但是还有许多其他“错误!” 工作。

我不得不运行npm cache clean --force该程序,具有讽刺意味的是,该消息将显示为“我当然希望您知道自己在做什么”。这似乎奏效了。

它不能解决我的主要开发机器上的问题。过去几年中发现,我很喜欢nodejs,您花费更多的时间来修复它,而不是花费在实际开发上。如果有任何帮助,我在linux ubuntu 14.04上的节点问题就更少了。


1

删除全局npm-cache和/或以管理员身份运行cmd行对我不起作用。同样,从npm版本5.xx开始,它可以从缓存损坏中恢复。

这确实有效:

1.删除了我当前项目中的node_modules文件夹。

2.删除了我当前项目中的package-lock.json

3.安装了新软件包。就我而言:npm install bootstrap@next --save

4.npm install对我当前的项目。

现在一切正常。通常,对我来说,nuking node_modules和package-lock.json通常可以解决这些“无明显原因”的错误。

编辑

我只是又遇到了同样的问题。但是我注意到,即使按照上述步骤操作后,它仍然抛出错误,但一切都已正确安装。所以我可以跑步ng serve(针对Angular),并且一切正常。

这肯定是一个奇怪的错误...


1

作为hack,

检查它抱怨的文件夹路径是否存在。如果不是,请在清除缓存后尝试手动创建它们并重新运行安装

当以管理员身份从命令提示符运行安装时,我成功完成了此任务


1

$ npm缓存清理
npm ERR!从npm @ 5开始,npm缓存会因损坏问题而自我修复,并且保证从缓存中提取的数据是有效的。如果要确保所有内容都一致,请改用“ npm cache verify”。

我尝试npm cache verify以管理员权限运行,此后它就起作用了。


1

这对我有用,如果您package.json不太大,可以执行以下操作:

  • 退出然后登录。
  • 删除 node_modules
  • npm install 再次。

0

像其他答案一样,清理npm缓存并确保缓存文件夹为空,然后运行npm install几次。每当错误消息针对不同的软件包出现时,最后一次(在X次尝试之后)错误消息都会成功。

  1. npm clean cache --force
  2. cd %APPDATA%\npm-cache (要么 cd $env:APPDATA\npm-cache对于PowerShell)
  3. del * 删除文件夹中的所有内容
  4. 返回项目文件夹并运行npm install几次,直到成功。请注意,错误消息每次都来自不同的软件包。

0

对我有用

我以管理员身份运行命令提示符。这部分有所帮助-因为我不再收到错误,“请以root /管理员身份再次尝试使用此命令”。我正在尝试安装Cordova。要成功完成此操作,我还必须执行以下操作:

(1)“ npm更新节点”,再加上...

(2)我还在>> npm install cordova <<中添加了“ -g”。换句话说,键入:>> npm install -g cordova <<

~~~对于Windows 8.1 ~~~

“以管理员身份运行”命令提示符

对于Windows 8.1,单击“开始”>“所有程序”时,我没有ACCESSORIES组。但是由于免费的Classic Start Menu应用程序,我确实有较旧的-但值得信赖和可靠-START BUTTON和START MENU。因此,安装后...

替代方案1:

1. Type "cmd" in the SEARCH BOX at the bottom of the START menu.  
2. When cmd.exe shows up in the top of the search results, right click it and select RUN AS ADMINISTRATOR.

替代方法#2如果已经打开并正在运行命令提示符窗口,并且您想打开另一个以管理员身份运行:

1. Locate the Command Prompt app icon in the Taskbar (usually along the bottom of you screen unless you have moved it a different dock/location).
2. Right click the app icon.
3. Now, right click "COMMAND PROMPT" and select RUN AS ADMINISTRATOR. 

希望这对某人有帮助。


0

我不知道哪些步骤对我有用。但是这些是我摆脱此错误的步骤:

  1. 更新了Node.js
  2. npm缓存清理命令在命令提示(随着对高速缓存存在疑问一些元件)
  3. 反应本土的init命令提示符管理员(在Windows OS),希望用好作品sudo的反应本土的init在Mac OS

我尝试了您的建议,但是当我执行第3步->>在命令提示符<<-中运行react-native init时,显然我没有安装该程序-。下一步-我使用开始菜单“搜索”搜索了系统-没有出现任何问题。接下来,我用谷歌搜索,然后GOOGLE建议“反应...”(不是“反应性...”)。有人可以解释如何安装或使用REACTIVE-NATIVE-或-REACT-NATIVE吗?在此先感谢
Sandi Laufenberg-Deku '17

抱歉,是错字了。它是本机的,而不是本机的
人员

0
  1. 关闭IDE
  2. 关闭运行ng serve或npm start的节点终端
  3. 转到项目文件夹/ node_modules,看看是否可以找到您要安装的软件包
  4. 如果找到要搜索的软件包,则删除软件包文件夹
  5. 如果这是您的第一个npm安装,则跳过步骤4并删除node_modules中的所有内容。如果找不到node_modules,则在项目中创建一个文件夹。
  6. 在管理员模式下打开终端并执行npm install。

那应该有望解决该问题



0

如果您正在反应本机项目中,并且Expo正在运行,请关闭它

重新安装该软件包,一切都很好。


0

还记得结束所有其他 命令例如npm run dev-server


那真的应该是一条评论。它提供了其他有用的信息,但不能解决问题。
GhostCat

@GhostCat这是一个可能的解决方案,因此应该是一个答案!
goulashsoup

0

一个有效的解决方案是关闭所有PowerShell和cmd实例。以管理员身份再次启动PowerShell / cmd,一切似乎正常。

如果您正在执行本机操作,并且node.js cmd在后台打开,则可能会发生这种情况。


0

在Windows 10, npm cache clean --forcenpm cache verify我没有工作。试图删除具有管理员权限的缓存文件夹和文件,但无效。该过程Explorer工具帮助我发现Node.exe持有的缓存文件。我终止了该过程,并尝试进行清洁,工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.