Ошибки Intellisense в новом проекте Node Tools Express App

Я только что создал новый проект с использованием шаблона "Basic Node.js Express 4 Application", и в проекте, похоже, уже есть ошибки:

Это ошибка в Visual Studio? Как я могу исправить ошибки?

1 ответ

Просто подожди

Когда вы создаете новый проект с использованием этого шаблона, Visual Studio запускается npm install в фоновом режиме, чтобы загрузить пакеты и введите информацию из реестра npm. Пока информация о типе не будет загружена, вы можете временно увидеть ошибки в редакторе.

Бег npm install может занять до 2 минут в зависимости от вашей сети и состояния диска. Если вы еще не видите npm command completed сообщение, то npm все еще работает, и вам нужно пойти и быстро выпить кофе. После завершения установки Visual Studio автоматически обновит ошибки Intellisense.

Ожидание не сработало?

Если вы немного подождали, но ошибки все еще есть, первым шагом к диагностике проблемы является проверка Output окно, чтобы увидеть, как npm install собирается В верхнем меню выберите View -> Output затем в окне вывода выберите Npm в поле со списком с надписью Show output from: Окно вывода, показывающее статус npm

Что вы будете делать дальше, зависит от того, что вы видите в окне вывода.

Попробуйте снова

Из- за ошибки во взаимодействии между промежуточным поведением npm, graceful-fs и Win32 MoveFileEx API, npm install может случайно потерпеть неудачу. Вы увидите трассировку ошибок в окне вывода, которая выглядит следующим образом:

npm ERR! path C:\Users\ryanca\source\repos\ExpressApp41\ExpressApp41\node_modules\@types\debug\package.json.2541088048
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall rename
npm ERR! Error: EPERM: operation not permitted, rename 'C:\Users\ryanca\source\repos\ExpressApp41\ExpressApp41\node_modules\@types\debug\package.json.2541088048' -> 'C:\Users\ryanca\source\repos\ExpressApp41\ExpressApp41\node_modules\@types\debug\package.json'
npm ERR!  { Error: EPERM: operation not permitted, rename 'C:\Users\ryanca\source\repos\ExpressApp41\ExpressApp41\node_modules\@types\debug\package.json.2541088048' -> 'C:\Users\ryanca\source\repos\ExpressApp41\ExpressApp41\node_modules\@types\debug\package.json'
npm ERR!   cause: 
npm ERR!    { Error: EPERM: operation not permitted, rename 'C:\Users\ryanca\source\repos\ExpressApp41\ExpressApp41\node_modules\@types\debug\package.json.2541088048' -> 'C:\Users\ryanca\source\repos\ExpressApp41\ExpressApp41\node_modules\@types\debug\package.json'
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'rename',
npm ERR!      path: 'C:\\Users\\ryanca\\source\\repos\\ExpressApp41\\ExpressApp41\\node_modules\\@types\\debug\\package.json.2541088048',
npm ERR!      dest: 'C:\\Users\\ryanca\\source\\repos\\ExpressApp41\\ExpressApp41\\node_modules\\@types\\debug\\package.json' },
npm ERR!   stack: 'Error: EPERM: operation not permitted, rename \'C:\\Users\\ryanca\\source\\repos\\ExpressApp41\\ExpressApp41\\node_modules\\@types\\debug\\package.json.2541088048\' -> \'C:\\Users\\ryanca\\source\\repos\\ExpressApp41\\ExpressApp41\\node_modules\\@types\\debug\\package.json\'',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'rename',
npm ERR!   path: 'C:\\Users\\ryanca\\source\\repos\\ExpressApp41\\ExpressApp41\\node_modules\\@types\\debug\\package.json.2541088048',
npm ERR!   dest: 'C:\\Users\\ryanca\\source\\repos\\ExpressApp41\\ExpressApp41\\node_modules\\@types\\debug\\package.json',
npm ERR!   parent: 'express-app41' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\ryanca\AppData\Roaming\npm-cache\_logs\2018-03-28T16_48_13_111Z-debug.log
====npm command completed with exit code -4048====

НЕ следуйте совету npm, чтобы повторно запустить команду от имени администратора; это только усугубит ситуацию. Бежать npm install из обычной командной строки или, что эквивалентно, выберите Install Missing npm Packages от npm узел в обозревателе решений: Изображение контекстного меню

Обратите внимание, что это будет работать npm install, который может снова потерпеть неудачу (но, вероятно, не будет).

Закройте решение

Небольшая часть пользователей видела npm install терпеть неудачу неоднократно. В очень маловероятном случае, если это снова не удается, вы можете попробовать закрыть решение, запустив npm install из командной строки, и заново открыв решение, но в целом это не должно быть необходимым. Если npm install происходит сбой даже в том случае, если Visual Studio не запущена, тогда у вас, вероятно, есть другая проблема, такая как поврежденный кэш npm, ошибка на диске или какая-либо другая ошибка npm, не охваченная этим ответом.

Рассмотрите возможность понижения или обновления npm

Ошибка, вызывающая EPERM ошибки были внесены в npm версии 5, поэтому, если это как-то вызывает у вас серьезные проблемы, вы можете рассмотреть возможность перехода на любую версию 4.xx. На момент написания статьи ошибка не была исправлена, но, надеюсь, в будущем появится новая версия npm с graceful-fs Исправление ошибки будет выпущено, и вы можете просто обновить.

Другие вопросы по тегам