Как использовать npm с node.exe?


108

Я загрузил Windows Binary (.exe) nodejs с главной страницы .

Как я могу установить и использовать npm(менеджер пакетов узла)?


Бинарный файл Windows - 0.5.x, это нестабильная версия node.js. Я не рекомендую запускать это в продакшене, однако его можно использовать для разработки. Вы можете подождать 0.6 (скоро!), Прежде чем запускать node.js в Windows на производстве.
Raynos 05

5
Если вы найдете этот вопрос через Google, Node.js для Windows поставляется с npm (примечание: это исполняемый файл скрипта, а не настоящий исполняемый файл).
Mike 'Pomax' Kamermans 08

есть ошибка. см. stackoverflow.com/questions/25093276/…
gcb

Ответы:


58

Текущий установщик Windows с узла nodejs.org от v0.6.11 (2012-02-20) установит NPM вместе с NodeJS.

НОТЫ:

  • На данный момент 64-битная версия - ваш лучший выбор.
  • Путь установки для 32-битного узла - «Program Files (x86)» в 64-битных окнах.
  • Вам также может потребоваться добавить кавычки к оператору пути в переменных среды, это только кажется в некоторых случаях, которые я видел.
  • В Windows глобальный путь установки фактически находится в каталоге профиля вашего пользователя.
    • %USERPROFILE%\AppData\Roaming\npm
    • %USERPROFILE%\AppData\Roaming\npm-cache
    • ПРЕДУПРЕЖДЕНИЕ. Если вы выполняете синхронизированные события или другую автоматизацию от имени другого пользователя, убедитесь, что вы работаете npm installот имени этого пользователя. Некоторые модули / утилиты должны быть установлены глобально.
    • ОШИБКИ УСТАНОВЩИКА: Возможно, вам придется создать эти каталоги или добавить ...\npmкаталог в путь пользователя самостоятельно.

Чтобы изменить «глобальное» расположение для всех пользователей на более подходящее общее глобальное расположение %ALLUSERSPROFILE%\(npm|npm-cache)(сделайте это как администратор):

  • создать [NODE_INSTALL_PATH]\etc\каталог
    • это необходимо, прежде чем вы попробуете npm config --global ...действия
  • создать глобальное (админское) местоположение (я) для модулей npm
    • C:\ProgramData\npm-cache - сюда пойдут модули npm
    • C:\ProgramData\npm - бинарные скрипты для глобально установленных модулей будут здесь
    • C:\ProgramData\npm\node_modules - сюда будут помещены глобально установленные модули
    • установите разрешения соответствующим образом
      • администраторы: изменить
      • аутентифицированные пользователи: читать / выполнять
  • Установите глобальные параметры конфигурации (командная строка администратора)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • Добавить C:\ProgramData\npmв переменную среды System's Path

Если вы хотите %LOCALAPPDATA%\(npm|npm-cache)вместо этого изменить "глобальное" местоположение вашего пользователя на путь:

  • Создайте необходимые каталоги
    • C:\Users\YOURNAME\AppData\Local\npm-cache - сюда пойдут модули npm
    • C:\Users\YOURNAME\AppData\Local\npm - бинарные скрипты для установленных модулей будут здесь
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - сюда будут помещены глобально установленные модули
  • Настроить npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • Добавьте новый путь npm к файлу вашей среды PATH.
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"

Для новичков некоторые из модулей npm, которые я наиболее часто использую, следующие.

  • axios - для более сложных http сообщений / получает
  • isomorphic-fetch - для запросов http (s) post / get
  • node-mailer - smtp-клиент
  • mssql - интерфейс и библиотека драйверов для запросов к MS SQL Server ( утомительные обертки )

Дополнительные параметры JS ...

  • async / await - асинхронные функции, поддерживаемые через babel

Для тестирования я использую следующие инструменты ...

  • mocha - фреймворк для тестирования
  • chai - библиотека утверждений, мне нравится chai.expect
  • sinon - шпионы, заглушки и шайбы
  • sinon-chai - расширьте chai с помощью инструментов утверждения sinon
  • babel-istanbul - отчеты о покрытии
  • jest - параллельное тестирование, утверждения, имитация, отчеты о покрытии в одном инструменте
  • babel-plugin-rewire - немного проще для некоторых насмешливых условий по сравнению с шуткой

Веб-инструменты.

  • webpack - сборщик модулей, пакет модулей в стиле узла для использования в браузере
  • babel - преобразование современного синтаксиса JS (ES2015 +) для вашей среды развертывания.

Если вы его построите ...

  • shelljs - утилиты оболочки для скриптов узлов. Раньше я использовал gulp / grunt, но в наши дни будет scriptsкаталог, на который в package.json сценариях ссылаются через npm. Вы можете использовать инструменты gulp внутри простых скриптов.

По состоянию на 25 февраля эта ошибка, похоже, исправлена; Я могу запускать npm из% path% (либо это, либо iisnode исправил это для меня)
Дэн Дэвис Брэкетт

12
Чтобы использовать NPM в Windows, используйте расширение Node.js Command Prompt. Просто попытаться запустить npmиз любой другой командной строки не получится.
Daniel AA Pelsmaeker

Хороший список модулей для новичков. Вместо использования простого Tedious используйте node-mssql, чтобы обернуть Tedious для гораздо более простого api.
Christiaan Westerbeek

Мне пришлось вручную создать каталог / папку C: \ Users \ kevitt \ AppData \ Roaming \ npm только сейчас, прежде чем я смог установить свой первый пакет.
Кенни Эвитт,

@ DanielA.A.Pelsmaeker Я НИКОГДА не запускал npm Windows с командной строкой Node.js ; не говоря, что это нежизнеспособный метод. Практически любой терминал или оболочка будут работать, если человек, использующий их, знает, что делает! Я использую npmкоманды почти каждый день; а BASH - мой выбор, если я застрял в использовании Windows; но собственные CMD и PowerShell для Windows работают, BASH, WSL (BASH, ZSH, Fish) ... все они работают нормально. « Попытка запустить npm из любой другой командной строки не сработает». Это утверждение похоже на то, что вы должны использовать VIM для написания JavaScript, а любая другая IDE не будет работать. #facepalm
Rockin4Life33 02

43

Если Node.js не устанавливается с помощью установщика msi , npm необходимо настроить вручную.

настройка npm

Во-первых, предположим, что у нас есть файл node.exe, расположенный в папке c:\nodejs. Теперь для настройки npm -

  1. Загрузите последнюю версию npm с GitHub ( https://github.com/npm/npm/releases )
  2. Создавайте папки c:\nodejs\node_modulesиc:\nodejs\node_modules\npm
  3. Разархивируйте загруженный zip-файл в c:\nodejs\node_modules\npmпапку
  4. Скопируйте файлы npm и npm.cmd из c:\nodejs\node_modules\npm\binв c:\nodejsпапку

Чтобы протестировать npm , откройте cmd.exeрабочий каталог c:\nodejsи введите npm --version. Вы увидите версию npm, если она настроена правильно.

После завершения настройки его можно использовать для установки / удаления пакетов локально или глобально. Для получения дополнительной информации об использовании npm посетите https://docs.npmjs.com/ .

В качестве последнего шага вы можете добавить путь c:\nodejsк папке узла в pathпеременную среды, чтобы вам не приходилось указывать полный путь при запуске node.exeи npmв командной строке.


Сработало как шарм, спасибо.
Г-н Рошан Павар

лучший ответ на данный момент. лучший из проголосовавших получил неработающую ссылку.
Аарон

38

npm можно скачать (без установки) отсюда:

http://nodejs.org/dist/npm/

https://github.com/npm/npm/releases


9
Просто распакуйте архив в ту же папку, что и node.exe, чтобы npm.cmd находился на том же уровне, что и node.exe.
Ezward

1
Это хороший способ «установить» узел и npm, если у вас нет прав администратора. Как только у вас есть и npm, и node, добавьте это к своему пути: set NODE=%USERPROFILE%\nodejsи PATH=%PATH%;%NODE%все
готово

@djKianoosh, это окольный путь. Все, что вам нужно, это set path=your/folder/containing/node. Например, set path=%userprofile%\nodejs. Потом позвони npmпосле этого, и все. Команда set pathвлияет только на ваш текущий сеанс cmd, а не глобально в реестре, поэтому вам не нужно ее отменять.
Pacerier

@Ezward, в одной папке они не нужны. См. Комментарий выше.
Pacerier

правильно @Pacerier. У меня есть похожий сценарий для запуска при входе в систему, чтобы автоматизировать его. Основная проблема на предприятии - отсутствие прав администратора и прокси / межсетевых экранов.
djKianoosh

11

Я только что установил последнюю версию узла (0.6.12) в Windows 7 с помощью msi (node-v0.6.12.msi).

npm уже поставляется с ним, нет необходимости включать его отдельно.

У меня возникла проблема с разрешением при запуске npm (npm install mysql) из пути, в котором находились мои nodejs, то есть C: \ Program Files (x86) \ nodejs

Затем я выполнил следующие шаги:

1) Добавлено C:\Program Files (x86)\nodejs\npmв переменные окружения - системная переменная Path.

2) вернулся только C:\в командную строку и дал команду npm install mysql- и вуаля! это сработало..

Надеюсь это поможет.


где скачать этот msi? я не вижу этого на сайте.
vee

@vee, не правда ли на главной странице nodejs.org/download . Найдите "msi".
Pacerier

7

Я запускаю node.js в Windows с помощью npm. Хитрость в том, чтобы просто использовать cygwin. Я следил за инструкциями в разделе https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows) . Но убедитесь, что вы используете версию 0.4.11 nodejs, иначе npm не удастся!


9
cygwin никогда не должен быть ответом. Это неправильный способ решения этих проблем.
Трой Ховард

С node 0.6 вы можете легко использовать node под окнами, но многие модули node, которые зависят от двоичных файлов, не поддерживают окна, и тогда вы снова приходите к точке, где вам нужно что-то вроде среды unix.
malte 02

1
На самом деле @Troy Howard вам не нужно так много работать с Windows, если вы используете cygwin. Уже одно это является огромным плюсом, потому что устраняет источник большинства его проблем.
JaneGoodall

1
@TroyHoward Я бы пошел еще дальше и сказал, что Windows никогда не должна быть ответом для любого вида веб-разработки.
Noz

На шаг впереди вашего шага возражения, Windows Visual Studio и .NET прекрасно подходят для веб-разработки, включая PHP и Perl, которые все работают на IIS.
Жюль Бартоу

4

Я только что установил 64-битный Node.js v0.12.0 для Windows 8.1 отсюда . Это около 8 МБ, и, поскольку это MSI, вы просто дважды щелкните, чтобы запустить. Он автоматически настроит ваши пути к среде и т. Д.

Затем, чтобы получить командную строку, это просто [Win-Key]+[S]поиск, а затем введите "node.js" в качестве поисковой фразы.

Выберите Node.js Command Promptзапись, а НЕ Node.jsзапись.

Оба предоставят вам командную строку, но только первая будет работать. npm встроен в эту загрузку, поэтому сразу npm -whateverпо запросу.


Это решило вопрос, ради которого я пришел - после установки node.js в Windows через установщик MSI я все еще не мог получить доступ к npm из командной строки, а запуск в окне «node.js» просто выдал ошибку, которую мне нужно было используйте командную строку. Я был уверен, что мне не придется добавлять пути вручную - затем я обнаружил, что мне нужно запускать в специальной оболочке узла, как указано в этом ответе. Спасибо.
Дэн Ниссенбаум

3

Используйте диспетчер пакетов Windows, как шоколадный. Сначала установите шоколад, как указано на его домашней странице . Это должно быть легко

Затем, чтобы установить Node JS (Установить), выполните следующую команду из командной строки или из PowerShell:

C:> cinst nodejs.install


Теперь это сработало для меня. Путь в Windows 8.1 установлен правильно: C: \ Program Files \ nodejs. Но я не могу запустить npm, если не переключусь на этот путь. Но если я запустил командную строку nodejs cmd, она настроит ее так, чтобы она работала. Он устанавливает C: \ Windows \ System32 \ cmd.exe / k "C: \ Program Files \ nodejs \ nodevars.bat" и запускается в "C: \ Program Files \ nodejs \". Возможно, c: \> cinst nodejs сделал То, что я запускал до cinst nodejs.install. Я не уверен. (почему я не могу исправить старый комментарий?)
Патрик Линдстрем

Вы можете редактировать собственные комментарии после их публикации в течение 5 минут. meta.stackexchange.com/questions/459/… . Кажется, теперь можно хотя бы удалить первые два комментария.
Christiaan Westerbeek

2

Вот руководство от @CTS_AE о том, как использовать NPM с автономным node.exe: https://stackoverflow.com/a/31148216/228508

  1. Загрузите автономный node.exe с nodejs.org
  2. Загрузите zip-архив с выпуском NPM с github https://github.com/npm/npm/releases
  3. Создайте папку с именем: node_modules в той же папке, что и node.exe.
  4. Распакуйте архив NPM в папку node_modules.
  5. Переименуйте извлеченную папку npm в npm и удалите все версии, например: npm-3.3.4 -> npm.
  6. Скопируйте npm.cmd из папки / npm / bin / в корневую папку с помощью node.exe

0

Я только что впервые установил Node.js, и он включает NPM, который можно запустить из Windows cmd. Однако убедитесь, что вы запускаете его от имени администратора. Щелкните правой кнопкой мыши по cmd и выберите «Запуск от имени администратора». Это позволило мне вызывать команды npm.


-1

Выполните поиск по всем файлам .npmrc в вашей системе.

Убедитесь, что указанный вами путь правильный. Если нет, удалите неверный путь.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.