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代码;如何并排打开两个Python shell