【问题标题】:Visual studio code terminal, how to run a command with administrator rights?Visual Studio代码终端,如何以管理员权限运行命令?
【发布时间】:2016-10-08 14:32:21
【问题描述】:

新版本 1.2.0 包含一个终端,但是当我尝试使用 node 安装任何包时,我得到了 npm ERR!我通常解决右键单击并以管理员身份运行它的代码 EPERM。那么我如何在 vscode 终端中做到这一点?有类似 sudo for linux 的东西吗?

【问题讨论】:

  • 自己找到了答案,只需以管理员身份运行 Visual Studio 代码即可。只需右键单击它。不知道为什么我没有早点想到。
  • 没有其他解决方法吗?我多年来一直以管理员身份运行 Visual Studio,但这在某种程度上似乎是“错误的”。有时在 VSCode 中我也不必这样做。是否只有在删除或更新软件包时才会收到此信息?
  • ` 只需以管理员身份运行 Visual Studio 代码。只需右键单击它。 只有在你关闭所有 VScode 实例之前它才有效

标签: windows npm visual-studio-code


【解决方案1】:

选项 1 - 更简单且持久

以管理员身份运行 Visual Studio Code 应该可以解决问题。

如果您使用的是 Windows,则可以:

  1. 右键点击快捷方式或app/exe
  2. 转到属性
  3. 兼容性标签
  4. 勾选“以管理员身份运行此程序”
不过有一点需要注意

确保您已关闭所有其他 VS Code 实例,然后尝试以管理员身份运行。 Electron 框架喜欢在关闭进程时停止进程,因此最好检查您的任务管理器并终止剩余进程。

代码库中的相关更改

选项 2 - 更像 Sudo

如果由于某些奇怪的原因这没有以管理员身份运行您的命令,您可以尝试runas 命令。 Microsoft: runas command

例子
  • runas /user:Administrator myCommand
  • runas "/user:First Last" "my command"
笔记
  • 不要忘记在任何有空格的地方加上双引号。
  • 此外,您很可能从未在管理员帐户上设置过密码,因为它会在尝试运行命令时要求您输入密码。如果帐户具有管理员访问权限/权限,您始终可以使用没有管理员用户名的帐户。

【讨论】:

  • 可执行文件的默认位置是C:\Program Files\Microsoft VS Code\Code.exe
  • 当我使用 runas "user:domain\adname" "npm install -g @angular/cli" 我得到一个错误 "RUNAS ERROR: Unable to run - npm install -g @angular/cli系统找不到指定的文件”
  • 您将无法使用选项 1 在项目或代码中使用映射驱动器。stackoverflow.com/a/32715171/5060792
  • 就像答案提到的那样,您可能会发现您从未设置过管理员密码,如果是这种情况,将密码留空将不起作用(至少在 Windows 10 上),但您可能还发现你自己的用户帐号也是管理员,所以用你自己的用户名代替Administrator,你会得到同样的结果。
  • 此外,如果您使用runas,集成终端将不会被重用,而是会打开一个新的控制台窗口,将在其中执行参数命令。之后它会自行关闭,要保持打开状态,请使用cmd /k {command}
【解决方案2】:

以管理员身份运行对我没有帮助。 (系统调用也有错误:重命名)

事实证明,如果文件被 Windows 锁定,也会出现此错误。

如果发生这种情况:

  • 您实际上是在运行项目
  • 您在 Visual Studio 和 VSCode 中都打开了文件。

以管理员身份运行不会绕过 Windows 文件锁定。

我在 VS2017 中创建了一个新项目,然后切换到 VSCode 尝试添加更多包。停止项目运行并关闭 VS2017 后,它能够正确完成

免责声明:我不确定这是否意味着不需要以管理员身份运行,但如果可能,请尽量避免它,以避免某些流氓包做一些事情的可能性意思是。

【讨论】:

  • 谢谢,这正是发生在我身上的事情。关闭使用该文件夹的其他应用程序,然后在 Admin 中通过 cmd 重新安装。
【解决方案3】:

这就是我得到的。

我正在使用 Visual Studio Code 及其终端来执行“npm”命令。

Visual Studio Code(非管理员身份)
PS g:\labs\myproject> npm install bootstrap@3

导致 scandir 和/或权限错误。

Visual Studio Code(以管理员身份)
在我运行类似 'ng serve' 之后运行这个命令

PS g:\labs\myproject> npm install bootstrap@3

导致 scandir 和/或权限错误。

Visual Studio Code(以管理员身份 - 关闭和打开 IDE)
如果我已经执行了其他会影响节点模块的命令,我决定先尝试关闭 Visual Studio Code,以管理员身份打开它,然后运行命令:

PS g:\labs\myproject> npm install bootstrap@3

我得到的结果是:+ bootstrap@3.3.7
在 24.685 秒内添加了 115 个包并更新了 1 个包

这不是一个永久的解决方案,因为我不想每次执行 npm 命令时都继续关闭 VS Code,但它确实在一定程度上解决了问题。

【讨论】:

  • 我的新笔记本电脑也有同样的问题。 @Jacques,你知道为什么会这样吗?
  • @Ivan 完全不知道。虽然我有一段时间没有发生这种情况了,但我不能告诉你发生了什么变化
【解决方案4】:

第 1 步:以管理员身份重启 VS Code

(点击windows键,搜索“Visual Studio Code”,右键,会看到管理员选项)

第 2 步:在您的 VS 代码 powershell 终端中运行 Set-ExecutionPolicy Unrestricted

【讨论】:

  • 这行得通。我不知道为什么当这个工作有效时,每个人仍然支持其他答案。我错过了什么,有什么缺点吗?
  • 这甚至还有一个好处是您不必在启动时确认以管理员身份运行 VSC。
  • 这是正确答案!向您致敬,先生!
  • 这对我有用。接受中的选项 1 不起作用
  • 有效,遗憾的是它不是持久的,除非我错过了什么。将坚持接受答案的选项 1。
【解决方案5】:

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

临时用
您可以按照以下步骤操作,

  1. 在 windows 中搜索 Vscode。
  2. 然后右键以管理员身份运行VScode。

但是每次打开VScode时都可以这样做。所以我认为这不是解决这个问题的最佳方法。

最好的方法
您可以按照以下步骤操作,

  1. 在 windows 中搜索 Vscode。
  2. 然后右键单击打开的文件位置。
  3. 然后您可以单击 VScode 图标并转到属性。
  4. 接下来您要转到兼容性选项卡。
  5. 在选项卡的底部,有选择框,在里面你可以看到以管理员身份运行这个程序你想要的选择框 打勾。
  6. 然后您可以应用这些更改并保存它。

您可以参考下面的页面以管理员身份做更多与此运行相关的事情
https://www.sevenforums.com/tutorials/11841-run-administrator.html

【讨论】:

    【解决方案6】:

    在我的情况下,即使以管理员身份运行,我也必须设置执行策略。

    在终端类型中:

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process

    https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2

    【讨论】:

      猜你喜欢
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      相关资源
      最近更新 更多