Использование npm в Visual Studio 2015
Когда используешь npm
в Visual Studio с NTVS, какие параметры действуют? Как мне подать заявку --save
или же -g
?
Будет ли это повредить проект Visual Studio в любом случае, если я должен был запустить npm
за пределами Visual Studio напрямую из командной строки?
1 ответ
Я ничего не могу сказать о NTVS, потому что я никогда не использовал его. Но когда мы говорим о стандартном окне консоли диспетчера пакетов:
- npm install [packageName] - устанавливает пакеты локально (аналог опции --save);
- npm использует файл package.json выбранного проекта;
- Чтобы понять погоду, если npm за пределами Visual Studio повредит ваш проект или нет, вы должны знать это:
на вашем компьютере может быть несколько установок npm (и node.js). Установщик Node.js по умолчанию сохраняет свои пакеты в пути "*C:\Program Files\nodejs*" и устанавливает системную переменную PATH с этим значением. Когда вы устанавливаете пакеты с помощью опции -g, они сохраняются в пути "%APPDATA%/npm".
Поэтому, когда вы используете npm вне Visual Studio, системная консоль будет применяться к версии npm/nodejs, которая хранится в переменной PATH.
Чтобы убедиться, что вы используете ту же версию npm в Visual Studio, откройте Сервис / Параметры => Проекты и решения / Внешние веб-инструменты. Visual Studio будет использовать расположения внешних инструментов по порядку, так как они расположены в списке.
Вы можете добавить переменную PATH и поставить ее на первое место, чтобы использовать ту же версию, что и ваша system.console:
на этом рисунке VS будет использовать переменную PATH, тогда как "$(VSINSTALLDIR)\Web\External" и "c:\Program Files\nodejs" будут игнорироваться (хотя у меня есть избыточность, потому что моя системная переменная PATH содержит "c:\Program Files \ nodejs ").
Вы также можете проверить версию каждого npm, установленного на вашем компьютере. Просто запустите "npm -v" в консоли диспетчера пакетов VS и запустите его в системной консоли.
У меня есть та же версия для них из-за моих предпочтений:
node -v
v7.8.0
Но когда я запускаю эту команду, открывая cmd в $(VSINSTALLDIR)\Web\External path, я получаю более старую версию:
надеюсь это поможет =)