2016-07-22 3 views
0

Я пытаюсь понять, как NPM работает с VS 2015 и .Net Core. Я выполняю этот учебник: http://www.mikesdotnetting.com/article/283/asp-net-5-managing-client-side-dependencies-with-npm-bower-and-gulpПочему так много пакетов устанавливаются под node_modules?

Мой package.json выглядит следующим образом:

{ 
    "version": "1.0.0", 
    "name": "asp.net", 
    "private": true, 
    "devDependencies": { 
    "gulp": "3.8.11", 
    "gulp-concat": "2.5.2", 
    "gulp-cssmin": "0.1.7", 
    "gulp-uglify": "1.2.0", 
    "rimraf": "2.2.8" 
    } 
} 

Я ожидал иметь Gulp, Глоток-Contact, Глоток-Cssmin, Глоток-уродовать и Rimraf под SRC/node_modules. Вместо этого я вижу более 200 пакетов и пакетов, перечисленных в моем пакете. Json, только Gulp, кажется, установлен.

Как я могу удалить pacakges, я не хочу, и как я могу гарантировать, что пакеты, которые мне нужны, установлены?

EDIT: Копаем дальше в этом, я попытался запустить npm cache clear из Powershell в моем каталоге проекта с правами администратора, и я получил эту ошибку:

Error: EPERM: operation not permitted, rmdir 'C:\Users\me\AppData\Roaming\npm-cache'

Это было удивительно для меня, потому что я ожидал кеш для очистки src/node_modules. Кто-нибудь знает, какая версия узла используется в Visual Studio? И/или где node.exe, который использует VS, обычно находится (с использованием Win 10).

Запуск npm cache clear из консоли диспетчера пакетов Visual Studio (запуск VS в качестве администратора) очистил все. Я все еще не уверен, почему это сработало.

+3

npm сглаживает зависимости. –

+1

Итак, все эти пакеты - все зависимости пакетов в моем пакете. Json? – smulholland2

+1

Скорее всего, да. –

ответ

0

Если ваши пакеты не синхронизированы, как и мои, выполните следующие действия, чтобы устранить нежелательные пакеты и убедитесь, что они указаны в вашем пакете. Json.

  1. Закрыть Visual Studio
  2. Удаление bower_components и node_modules каталоги в ИПВ.
  3. Повторно открыть VS с помощью админа, но не возобновлять проект.
  4. Запустить npm cache clear с консоли диспетчера пакетов.

Примечание:npm должна быть переменная окружения вы должны либо установить Node.js или установить на Visual Studios Node.js в PATH.

Это хорошая статья о том, как использовать новую версию npm, чем то, что установлено с VS2015. http://jameschambers.com/2015/09/upgrading-npm-in-visual-studio-2015/

Смежные вопросы