Visual Studio代码终端,如何以管理员权限运行命令?

Posted

技术标签:

【中文标题】Visual Studio代码终端,如何以管理员权限运行命令?【英文标题】:Visual studio code terminal, how to run a command with administrator rights? 【发布时间】: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 实例之前它才有效 【参考方案1】:

选项 1 - 更简单且持久

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

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

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

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

代码库中的相关更改 https://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/8915236-visual-code-w-terminal-integrated-and-super-admin https://github.com/Microsoft/vscode/issues/7407

选项 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 在项目或代码中使用映射驱动器。***.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】:

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

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

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

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

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

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

您可以参考下面的页面以管理员身份做更多与此运行相关的事情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

【讨论】:

以上是关于Visual Studio代码终端,如何以管理员权限运行命令?的主要内容,如果未能解决你的问题,请参考以下文章

visual studio code终端输出为啥会乱码

Visual Studio代码;如何并排打开两个Python shell

如何将终端更改为 Visual Studio 代码中的当前目录? (热键)[重复]

Visual Studio代码终端无法正常工作?

更改安装项目Visual Studio的发布者名称

默认情况下如何以管理员身份运行 Visual Studio?