【问题标题】:Npm Please try using this command again as root/administratorNpm 请以 root/管理员身份再次尝试使用此命令
【发布时间】:2014-04-15 00:34:26
【问题描述】:

我一直在拼命尝试使用 node.js 安装模块,但它总是无法使用 npm 获取包。

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

我什么都试过了……简直把我逼疯了。

以下是错误:

npm 错误!请尝试以 root/管理员身份再次运行此命令。

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.

【问题讨论】:

  • 我的 node_modules 文件夹设置为只读!右键单击属性并修复它。 :}
  • 我遇到了与此类似的错误,但在 Mac 上,修复它涉及将 node_modules 和我的 usr/local/bin 文件夹的访问权限从“只读”切换为“读写”跨度>

标签: windows node.js npm


【解决方案1】:

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

试试:

  1. npm cache clean 首先。

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

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

正如@Crazzymatt 所说,从 npm@5 及更高版本开始,我们需要使用 npm cache verify 而不是 npm cache clean。否则你会得到如前所述的错误。

npm 错误!从 npm@5 开始,npm 缓存可以从损坏问题中自我修复,并且保证从缓存中提取的数据是有效的。如果您想确保一切一致,请改用“npm cache verify”。

(来源:MSDN Blog post

【讨论】:

  • 从 NPM5 开始,您可以运行对我有用的“npm cache verify”
  • 有时npm cache clean 会给你一个警告,所以你可能想通过npm cache clean --force 强制它清理
  • 再次运行命令(例如npm install --save xxx)对我有用。
  • 尝试:npm 缓存验证
  • 对于我的情况,我必须在清除 %APPDATA%\npm-cache 文件夹后重新启动我的机器。 Windows 10。
【解决方案2】:

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

【讨论】:

  • 我这样做了,但它不起作用。我也以管理员身份运行了该命令。
  • 这在 Windows 10 上对我有用 - 以管理员身份运行并没有解决问题
【解决方案3】:

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

按照以下步骤操作:

  • 依次单击“开始”、“所有程序”和“附件”。
  • 右键单击命令提示符,然后单击以管理员身份运行。

【讨论】:

    【解决方案4】:

    这是我在 Windows (7) Dev 上解决此问题的方法。环境。 我假设以下...

    • 您正在运行 Command PromptGit BashCmder 或您最喜欢的终端,作为 管理员右键点击
    • 权限已授予读/写(即 chmod -777)

    好的,让我们开始吧:

    1. 更新版本检查返回警告的任何包("npm WARN"..) 例如...

      npm 更新 -g npm

      npm update -g graceful-fs

    2. 接下来我们要强制 缓存清理。这由 '--f''-f'..

      标记

      npm 缓存清理 --f

    3. Widows Explorer 中搜索以下路径

    %APPDATA%\npm-缓存

    然后删除它的内容

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

    希望这对某人有所帮助!

    【讨论】:

    • 我已经尝试了很多对其他人有用的解决方案,但是该死的......我在 npm install --save-dev webpack 上没有成功。几周前,它工作得很好,我正在用所有相同的命令重新做一个教程,但没有权限或任何不允许我安装的东西。我发现了这个:github.com/npm/npm/issues/18380
    • npm install --no-optional webpack 在我回滚到 npm i -g npm@5.3 后为我工作
    • 这个解决方案应该更适合 Windows 7 用户。为我工作。
    • 删除 npm-cache 的内容对我有用。谢谢
    【解决方案5】:

    我已经以管理员身份运行节点命令窗口。正如上面许多人所提到的,以下带有 --f (force) 的命令解决了我的问题。

    npm 缓存清理 -f

    缓存清理后,安装完美无缺。 See the screenshot for reference

    【讨论】:

    • 我当然希望你知道你在做什么。
    【解决方案6】:

    【讨论】:

    • 上述任何解决方案都解决了这个问题。当我登录时,它就可以工作。谢谢
    • 这是我的解决方案。谢谢你的链接。
    【解决方案7】:

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

    【讨论】:

      【解决方案8】:

      尝试以下步骤

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

      2。转到 Windows %APPDATA%\npm-cache 上的此文件夹并删除要安装模块的文件夹(例如:laravel-elixir),或者如果您使用的是 PowerShell,$env:APPDATA\npm-cache

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

      【讨论】:

      • 如果这不起作用,请转到 %APPDATA%\npm 并删除两个 ng 文件并尝试。
      【解决方案9】:

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

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

      2. 右键单击 nodejs 文件夹(在 Program Files 下),选择 Properties(一直向下滚动),单击 Security 选项卡,然后单击 ALLOW 列中的所有项目(对于 All System Packages 和任何用户或组允许您添加“允许”复选标记)。

      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。很好的指示。似乎有助于我取得进步。
      • 最后,“关闭防火墙和防病毒保护”重新打开
      【解决方案10】:

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

      npm cache clean -f
      

      【讨论】:

        【解决方案11】:

        我遇到了同样的问题,我的解决方法是以管理员身份运行 cmd.exe,即使我的帐户已经设置为管理员。

        【讨论】:

          【解决方案12】:

          npm cache verify

          尝试更新版本的 npm。

          我正在使用 v 5.5.1,它运行良好。

          【讨论】:

            【解决方案13】:

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

            注意:很多 IDE 都嵌入了 CLI(Visual Studio、VS Code 等),所以请同时关闭 IDE 实例

            【讨论】:

              【解决方案14】:

              如果您在 mac 上执行此操作,请键入:sudo chown -R $USER /usr/local,这将为您提供对文件的管理访问权限

              【讨论】:

              • 糟糕的方式。您将使用它来降低系统权限级别。
              【解决方案15】:

              在 Windows 10 上对我有帮助的只是勾选了项目 node_modules 的“只读”。

              【讨论】:

              • 感觉粗略,但这对我有用,而 npm cache clean 并没有解决问题。
              【解决方案16】:

              我把这个问题搞砸了 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 installnpm update安装和更新了所有东西

                5. 然后我编译时只丢失了 2 个模块并手动安装了它们

              Tadaaaaa,它现在工作。所以总而言之,这是 node.js 的一个问题。 我向遇到此问题的每个人推荐:尝试不同的节点版本!并清理 ABSOLUTE 一切。

              【讨论】:

                【解决方案17】:

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

                我不得不运行npm cache clean --force,具有讽刺意味的是,它会给你一条消息,上面写着“我当然希望你知道你在做什么”。这似乎奏效了。

                它不能解决我的主要开发机器上的问题。正如我在过去几年中发现的那样,我正在制作 nodejs,您将更多时间花在修复它而不是实际开发上。如果有帮助的话,我在 linux ubuntu 14.04 上遇到的节点问题较少。

                【讨论】:

                  【解决方案18】:

                  删除全局 npm-cache 和/或以管理员身份运行我的 cmd 行对我不起作用。此外,从 npm 版本 5.x.x 开始,它应该会自行从缓存损坏中恢复。

                  这确实有效:

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

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

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

                  4.为我当前的项目跑npm install

                  现在一切正常。一般来说,核对 node_modules 和 package-lock.json 通常会为我修复这些“没有明显原因”的错误。

                  编辑

                  我又遇到了同样的问题。但是我注意到所有东西都安装正确,即使在我按照上述步骤操作后它抛出了错误。所以我可以运行ng serve(对于Angular),一切正常。

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

                  【讨论】:

                    【解决方案19】:

                    作为一个黑客,

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

                    我成功了,当以管理员身份从命令提示符运行安装时不起作用

                    【讨论】:

                      【解决方案20】:

                      $ npm 缓存清理
                      npm 错误!从 npm@5 开始,npm 缓存可以从损坏问题中自我修复,并且保证从缓存中提取的数据是有效的。如果您想确保一切一致,请改用“npm cache verify”。

                      我尝试使用管理员权限运行npm cache verify,然后它就可以工作了。

                      【讨论】:

                        【解决方案21】:

                        这对我有用,如果你的 package.json 不是太大,你可以这样做:

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

                        【讨论】:

                          【解决方案22】:

                          像其他答案一样,清理 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几次,直到成功。请注意,错误消息每次都针对不同的包。

                          【讨论】:

                            【解决方案23】:

                            什么对我有用

                            我以管理员身份运行命令提示符。这部分帮助 - 因为我不再收到错误,“请尝试再次以 root/管理员身份使用此命令”。我试图安装科尔多瓦。为了成功,我还必须做到以下几点:

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

                            (2) 我还在 >>npm install cordova>npm install -g cordova

                            ~~~ WINDOWS 8.1 ~~~

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

                            对于 Windows 8.1,当我单击开始 > 所有程序时,我没有附件组。但由于免费的经典开始菜单应用程序,我确实有那个旧的 - 但可靠且可靠的 - 开始按钮和开始菜单。所以,安装好了....

                            备选方案#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. 
                            

                            希望这对某人有所帮助。

                            【讨论】:

                              【解决方案24】:

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

                              1. 更新了 Node.js
                              2. 在命令提示符下运行 npm cache clean 命令(使用 缓存存在的一些疑问)
                              3. 运行 react-native init 命令提示符作为管理员(在 Windows 操作系统上),希望运行良好 在 Mac OS 上使用 sudo react-native init

                              【讨论】:

                              • 我尝试了你的建议,但是当我进入第 3 步时 -->> 在命令提示符下运行响应式原生初始化
                              • 抱歉,打错了。它是反应原生的,而不是反应原生的
                              【解决方案25】:
                              1. 关闭 IDE
                              2. 关闭运行 ng serve 或 npm start 的节点终端
                              3. 转到您的项目文件夹/node_modules,看看是否可以找到您要安装的包
                              4. 如果您找到要搜索的包,则删除包文件夹
                              5. 如果这是您的第一次 npm 安装,请跳过第 4 步并删除 node_modules 中的所有内容。如果您没有找到 node_modules,请在您的项目中创建一个文件夹。
                              6. 以管理员模式打开终端并执行 npm install。

                              这应该可以解决问题

                              【讨论】:

                                【解决方案26】:

                                在安装、卸载、更新等 4 小时后终于可以正常工作了。

                                唯一这样做的就是使用旧版本的节点 v8.9.1 x64

                                这是一个 PC windows 10。

                                希望这对某人有所帮助。

                                【讨论】:

                                  【解决方案27】:

                                  如果您在 react native 项目中,并且 Expo 正在运行,那么关闭它

                                  重新安装软件包,一切都应该没问题。

                                  【讨论】:

                                    【解决方案28】:

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

                                    【讨论】:

                                    • 这确实应该是一条评论。它提供了额外的有用信息,但不能解决问题。
                                    • @GhostCat 是一个可能的解决方案,所以它应该是一个答案!
                                    【解决方案29】:

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

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

                                    【讨论】:

                                      【解决方案30】:

                                      在 Windows 10 上, npm cache clean --forcenpm cache verify 对我不起作用。 尝试使用管理员权限删除缓存文件夹和文件,但没有成功。 process-explorer 工具 帮助我发现Node.exe 持有缓存文件。我终止了进程并尝试清理,工作。

                                      【讨论】:

                                        猜你喜欢
                                        • 1970-01-01
                                        • 2018-05-18
                                        • 2018-02-22
                                        • 1970-01-01
                                        • 2018-04-22
                                        • 1970-01-01
                                        • 2014-12-24
                                        • 1970-01-01
                                        • 2011-12-03
                                        相关资源
                                        最近更新 更多