Ошибки Intellisense в новом проекте Node Tools Express App
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, 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
Исправление ошибки будет выпущено, и вы можете просто обновить.