1

Вопрос: После восстановления в ASP NET Core project>Dependencies\npm\ было внесено (восстановлено) множество странных пакетов. Пакеты, которые не соответствуют моему конфигурационному файлу package.json. Как это остановить?Остановить npm восстановление всего хранилища на моем веб-проекте ASP NET Core


P.S. Я попытался опубликовать этот вопрос вчера, но из-за какого-то странного поведения Stackoverflow он не появился. Не пропустите голос или не закройте этот, я удалил предыдущий.


В Empty ASP.NET Core веб-проект, который я собираюсь использовать как проект UI с angular2 Я добавил package.json файл с зависимостей и devDependencies узлов.

{ 
    "name": "myProject", 
    "version": "1.0.0", 
    "scripts": { 
    "start": "npm run tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ", 
    "tsc": "tsc", 
    "tsc:w": "tsc -w", 
    "lite": "lite-server", 
    "typings": "typings", 
    "postinstall": "typings install" 
    }, 
    "license": "ISC", 
    "dependencies": { 
    "@angular/common": "2.0.0-rc.1", 
    "@angular/compiler": "2.0.0-rc.1", 
    "@angular/core": "2.0.0-rc.1", 
    "@angular/http": "2.0.0-rc.1", 
    "@angular/platform-browser": "2.0.0-rc.1", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.1", 
    "@angular/platform-server": "2.0.0-rc.1", 
    "@angular/router": "2.0.0-rc.1", 
    "@angular/router-deprecated": "2.0.0-rc.1", 
    "@angular/upgrade": "2.0.0-rc.1", 
    "es6-shim": "^0.35.1", 
    "reflect-metadata": "0.1.3", 
    "rxjs": "5.0.0-beta.6", 
    "systemjs": "^0.19.27", 
    "zone.js": "^0.6.12", 
    "bootstrap": "3.3.6", 
    "jquery": "2.2.3", 
    "font-awesome": "4.6.1", 
    "toastr": "2.1.2", 
    "chart.js": "2.1.3", 
    "signature_pad": "^1.5.3", 
    "moment": "2.13.0", 
    "fullcalendar": "2.7.1", 
    "fullcalendar-scheduler": "1.3.1" 
    }, 
    "devDependencies": { 
    "concurrently": "^2.0.0", 
    "lite-server": "^2.2.0", 
    "typescript": "^1.8.10", 
    "typings": "^0.8.1", 
    "bootstrap": "3.3.6", 
    "font-awesome": "4.6.1", 
    "toastr": "2.1.2", 
    "signature_pad": "^1.5.3" 
    } 
} 

Сразу папка Dependencies от структуры проекта сообщили, что я должен восстановить npm пакеты. Я открыл npm папки, я увидел там мои ссылки от package.json и я нажал [восстановить]

restoring Dependencies

В конце восстановления в npm папки под Dependencies и я увидел много ссылок были добавлено автоматически.
node_modules папка содержит 361 пакет, вместо моего: 28 пакетов, определенных в package.json.

Я не знаю, почему они были включены. Кто-нибудь знает, почему это произошло? Как избежать этой избыточности ...

Я вижу, что можно удалить пакеты по одному .... Должен ли я удалить их из этой папки npm?

strange packages included

Спасибо.

+0

Какую версию инструментов ASP.NET Core для VS вы установили? У вас установлен npm/Node.js на машине, и если да, то какая версия? –

+0

Обновление Visual Studio 2015 2; npm 3,8,8; Узел 6.1.0; ASP.NET и Web Tools 2015.1; Microsoft .NET Core Tools (Preview 1) 14.1.20512.0 – meorfi

ответ

2

Краткий ответ: вы не должны удалять или удалять дополнительные пакеты. Они являются зависимостями пакетов, перечисленных в вашем package.json.

Новые версии npm изменили способ установки пакетов. Старые версии всегда устанавливали зависимости пакета в папке пакета и зависимости каждого из этих пакетов под их папками и т. Д. Это было хорошо для изоляции зависимостей, но это привело к глубоко вложенным структурам папок, которые вызвали проблемы в Windows, потому что они превысили бы MAX_PATH. Более новые версии npm устанавливают общие дочерние зависимости в корневой папке. Вы видите примерно тот же набор пакетов, что и раньше, только в более плотной структуре папок.

Теперь, до недавнего выпуска ASP.NET Core RC2, веб-инструменты для VS не отображали эту новую структуру очень хорошо. Все эти сплющенные пакеты будут отображаться как «посторонние» корневые пакеты.Если вы можете обновить веб-инструменты до выпуска RC2, то вы должны увидеть, что вы ожидаете под узлом npm: только пакеты в вашем package.json, а остальные пакеты расположены ниже них.

+0

Да, я узнал, что они являются зависимостями моих существующих пакетов, перечисленных в package.json. Многие из них являются зависимостями «одновременно» и «lite-server» :). Я играл, удалив их, но команда «npm start» ** разбилась ** :) Итак, я вернул их обратно. Спасибо за объяснения! Отличная работа! – meorfi

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

  • Нет связанных вопросов^_^