Термінал коду Visual Studio, як запустити команду з правами адміністратора?


84

Нова версія 1.2.0 включає термінал, але при спробі встановити будь-який пакет з вузлом я отримую помилку npm! код EPERM, який я зазвичай вирішую правою кнопкою миші та запускаю його як адміністратор. То як я це роблю в терміналі vscode? Існує щось на зразок sudo для linux?

термінал vscode


4
Я знайшов відповідь сам, просто запустіть код Visual Studio від імені адміністратора. Просто клацніть правою кнопкою миші на ньому. Не знаю, чому я не думав про це раніше.
Dragod83

чи немає іншого способу вирішення цього? Я працював Visual Studio протягом багатьох років як адміністратор, але це просто здається `` неправильним ''. Також іноді у VSCode мені не доводиться цього робити. Ви отримуєте це лише тоді, коли пакет видаляється або оновлюється?
Simon_Weaver

`просто запустіть код Visual Studio від імені адміністратора. Просто клацніть правою кнопкою миші на ньому '. це працює, лише якщо ви закрили всі екземпляри VScode раніше
JinSnow,

Відповіді:


115

Варіант 1 - Простіший та стійкий

Запуск коду Visual Studio від імені адміністратора повинен зробити трюк.

Якщо ви використовуєте Windows, ви можете:

  1. Клацніть правою кнопкою миші ярлик або додаток / exe
  2. Перейдіть до властивостей
  3. Вкладка сумісності
  4. Позначте пункт "Запустити цю програму як адміністратор"
Однак до цього є застереження

Переконайтеся, що у вас закриті всі інші екземпляри коду VS, а потім спробуйте запуститись як адміністратор. Електронний фреймворк любить зупиняти процеси, закриваючи їх, тому найкраще перевірити диспетчера завдань і вбити інші процеси.

Пов’язані зміни в Codebase

Варіант 2 - Більше схожий на судо

Якщо з якихось дивних причин ваші команди не запускаються як адміністратор, ви можете спробувати runasкоманду. Microsoft: команда runas

Приклади
  • runas /user:Administrator myCommand
  • runas "/user:First Last" "my command"
Примітки
  • Тільки не забувайте ставити подвійні лапки навколо всього, що має пробіл.
  • Також цілком можливо, що ви ніколи не встановлювали пароль в обліковому записі адміністратора, оскільки він буде запитувати вас при спробі запустити команду. Ви завжди можете використовувати обліковий запис без імені користувача Адміністратора, якщо він має права / дозволи доступу адміністратора.

1
Місце розташування виконуваного файлу за замовчуваннямC:\Program Files\Microsoft VS Code\Code.exe
bbsimonbb

1
коли я використовую runas "user: domain \ adname" "npm install -g @ angular / cli" Я отримую повідомлення про помилку "RUNAS ERROR: Неможливо запустити - npm install -g @ angular / cli система не може знайти вказаний файл"
Том Макдональд

Якщо не вдається знайти npm, можливо, вам доведеться додати установку вузла до PATHзмінної системного середовища. Ви також можете спробувати перевірити, чи існує, виконавши щось подібне where.exe npmабо npm -vвідобразивши версію. Крім того, якщо ви використовуєте PowerShell, іноді вам доведеться додати exe наприкінці, щоб у вас runas.exe /user:Administrator myCommand
вийшло

1
Ви не зможете використовувати відображені накопичувачі у своєму проекті чи коді з Варіантом 1. stackoverflow.com/a/32715171/5060792
Клей

Як і у згаданій відповіді, ви можете виявити, що ви ніколи не встановлювали пароль адміністратора, якщо це так, залишити пароль пустим не буде працювати (принаймні в Windows 10), але ви також можете виявити, що ваш власний обліковий запис користувача також адміністратор, тому використовуйте власне ім'я користувача замість, Administratorі ви досягнете того ж результату.
Томаш Хюбельбауер

3

Запуск від імені адміністратора мені не допоміг. (також отримано помилки з syscall: rename)

Виявляється, ця помилка також може статися, якщо файли заблоковані Windows.

Це може статися, якщо:

  • Ви фактично керуєте проектом
  • Файли відкриті як у Visual Studio, так і у VSCode.

Запуск від імені адміністратора не дозволяє обійти блокування файлів Windows.

Я створив новий проект у VS2017, а потім перейшов на VSCode, щоб спробувати додати більше пакетів. Після зупинки запуску проекту та закриття VS2017 він міг завершити без помилок

Застереження: Я не зовсім впевнений, що це означає, що запуск від імені адміністратора не потрібен, але намагайтеся уникати цього, якщо це можливо, щоб уникнути можливості того, щоб якийсь неправдивий пакет робив речі, для яких це не призначено.


Дякую, саме так трапилося зі мною. Закрийте інші програми, які використовують папку, а потім переінсталюйте через cmd в Admin.
Енні Лаганг

3

Крок 1: Перезапустіть код VS як адміністратор

(клацніть клавішу Windows, знайдіть "Код Visual Studio", клацніть правою кнопкою миші, і ви побачите опцію адміністратора)

Крок 2: У коді VS запустіть термінал PowerShellSet-ExecutionPolicy Unrestricted


2

Ось що я отримую.

Я використовую код Visual Studio та його термінал для виконання команд 'npm'.

Код Visual Studio (не як адміністратор)
PS g: \ labs \ myproject> npm install bootstrap @ 3

Призводить до помилок скандиру та / або дозволів.

Код Visual Studio (як адміністратор)
Виконайте цю команду після того, як я запустив щось на зразок 'ng serve'

PS g: \ labs \ myproject> npm встановити bootstrap @ 3

Призводить до помилок скандиру та / або дозволів.

Код Visual Studio (як адміністратор - закриття та відкриття IDE)
Якщо я вже виконував інші команди, які впливають на модульні вузли, я вирішив спробувати закрити Visual Studio Code спочатку, відкривши його як адміністратор, а потім виконавши команду:

PS g: \ labs \ myproject> npm встановити bootstrap @ 3

Результат, який я отримую тоді: + bootstrap@3.3.7
додав 115 пакунків та оновив 1 пакет за 24,685 с

Це не постійне рішення, оскільки я не хочу продовжувати закривати код VS кожного разу, коли хочу виконати команду npm, але це вирішило проблему до певної точки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.