Как запустить gulp: Как запустить gulp? — Хабр Q&A

Начало работы с gulp и VS Code

Автор Кирилл Соколов На чтение 10 мин. Просмотров 235 Опубликовано

Странные времена. Я никогда не перестаю удивляться тем инструментам, которые вторглись в нашу первозданную среду разработки. Один из таких инструментов – gulp, и если вы не слышали о нем, не беспокойтесь. Почему вы должны об этом слышать?

Пару недель назад я представил свой доклад о gulp, объяснив, как я упростил и ускорил разработку надстроек управления. Если вы настоящий разработчик NAV и не отнесли всю эту серию по gulp к категории «кого это волнует» , то, скорее всего, вы останетесь со мной сегодня и узнаете, как чтобы настроить gulp и начать использовать его в VS Code.

В этом посте я объясню, что (и почему) вам нужно сделать, чтобы запустить gulp, а затем я создать очень простую задачу gulp. Это первая публикация в серии, в которой я надеюсь создать сквозной пример, который вы даже сможете применить на практике в своих проектах.

Приступим.

Gulp – это модуль Node.js, а это значит, что на вашем компьютере должен быть установлен Node.js. Несмотря на то, что VS Code использует Node.js внутри, на самом деле он использует его только внутри, и вы должны установить Node.js отдельно, чтобы иметь возможность запускать любой из них. Чтобы проверить, установлен ли у вас узел, запустите командную строку и выполните следующую команду:

 node --version  

(В качестве альтернативы, запустите код VS и нажмите View> Terminal или нажмите Ctrl + `на клавиатуре. Все примеры в этой и будущих публикациях на gulp предполагают, что вы вводите все команды в окне терминала из VS Code, и что в нем открыто рабочее пространство AL.)

Если приведенная выше командная строка не производит никаких результат или выдает ошибку, затем перейдите на https://nodejs.org/en/и сначала установите Node.js.

Теперь, когда у вас есть Node.js, следующим шагом будет установка глоток. Как и любые модули Node.js, вы можете установить gulp глобально или локально. Локальная установка выполняется для каждого проекта, рабочего пространства, папки или того, что вы хотите назвать своим локальным каталогом. Модуль, установленный локально, доступен для Node.js только тогда, когда вы находитесь внутри этой локальной папки. Модуль, установленный глобально, доступен для Node.js на всей машине, независимо от того, в какой папке, проекте или рабочем пространстве вы находитесь.

Как вы хотите установить модуль, зависит от того, как он будет используемый. Некоторые модули предоставляют только функции времени выполнения JavaScript, которые можно вызывать из файлов JavaScript, выполняемых Node.js – обычно они устанавливаются локально. Однако, если модуль предоставляет функции командной строки, он должен быть установлен глобально.

Это может быть не совсем ясно из документации, которую вы можете найти в Интернете, но gulp должен быть установлен как глобально, так и локально. Глобальная установка необходима только для предоставления общих команд интерфейса командной строки для запуска задач. Требуется локальная установка, поэтому ваша локальная среда выполнения gulp может зависеть от версии для каждого проекта..

Итак, давайте сначала установим gulp глобально:

 npm i gulp --global  

Это было легко. Пришло время установить gulp локально. У вас может возникнуть соблазн сделать это:

 npm i gulp  

Но не делайте этого! Да, он установит gulp локально для вашего проекта, но этого будет достаточно, только если вы единственный человек, когда-либо использующий этот проект, и только когда-либо на этой машине. Почему?

Давайте сначала посмотрим, что такое npm. Npm – это менеджер пакетов. Он устанавливает внешние пакеты, необходимые для вашего решения, и управляет ими. Если вы когда-либо занимались разработкой .NET и когда-либо использовали NuGet, то npm – то же самое. Проще говоря: npm для Node. js для NuGet для .NET. Но помимо простой установки пакетов npm может управлять зависимостями . Если вы зависите от пакета, если вы объявляете зависимость от этого пакета, npm может автоматически обрабатывать эти зависимости за вас, загружать их, когда они недоступны, и поддерживать их в актуальном состоянии.

Если бы вы использовали эту простую строку выше, которая просто устанавливает gulp без каких-либо переключателей, он установит gulp в ваш проект, но не сделает его зависимым от вашего проекта. Это означает, что, в зависимости от вашей конфигурации git, другие разработчики могут не получить gulp (и его собственные зависимости) из вашего репозитория и могут столкнуться с проблемами при автоматизации тех же задач на своем компьютере, если они также не установят gulp локально для себя.

Итак, вооружившись новым пониманием npm, вы решили посмотреть, как сделать gulp зависимостью, но быстро узнаете, что это можно сделать двумя разными способами:

 npm i gulp --save  
 npm i gulp --save-dev  

Разница в том, что первый сделает gulp производственной зависимостью от всего, что вы создаете, а второй сделает это зависимостью от среды разработки. При создании расширений AL вы используете gulp только для разработки, поэтому второй вариант – правильный выбор. Однако, если, например, вы разрабатываете расширения VS Code, и эти расширения будут использовать gulp, пока они делают то, для чего они предназначены, то вы должны использовать первый вариант, чтобы указать, что ваше расширение требует запуска gulp.

Если вы хотите узнать больше о различиях, возможно, эта статья поможет вам в этом:
https://imcodebased.com/npm-save-or-save-dev -which-one-to-use/

Хорошо. Итак, теперь вы знаете, что для разработки AL вам нужна только зависимость разработки, вам нужно запустить это:

 npm i gulp --save-dev  

Когда это будет сделано, вы можете проверить, работает ли gulp для вас. Если все, что вы сделали, было правильно (и почему этого не должно быть, дело не в том, что вы строили космический корабль), вы сможете запустить это:

 gulp   

Результатом станет следующий:

 [09:25:06] Файл gulpfile не найден  

Это похоже на ошибку, и это так. Это полный отчет по долгу службы, который сообщает, что не нашел никаких инструкций. Теперь вам нужно сказать gulp, что и как делать. Это сообщение об ошибке сообщает вам, что файл gulpfile отсутствует, поэтому давайте сначала займемся этой частью. В корне вашего рабочего пространства просто создайте новый файл и назовите его gulpfile.js. Пока ничего не добавляйте, просто оставьте поле пустым. С этим файлом снова запустите gulp и посмотрите на результат:

 [09:29:31] Использование gulpfile C:  Temp  Gulp  gulpfile.js [09:  29:31] Задача никогда не определялась: по умолчанию [09:29:31] Чтобы вывести список доступных задач, попробуйте запустить: gulp --tasks  

Это означает, что теперь gulp может читать вашу задачу файл и умеет запускать задачи. Однако, поскольку ваш файл gulp пуст, gulp не нашел задач для запуска.

Давайте создадим первую простую задачу.

Задачи Gulp написаны на JavaScript, и каждая задача определяется в функции JavaScript. Это не означает, что любая функция, которую вы объявляете в своем gulpfile.

js, автоматически станет задачей, это просто означает, что для определения задач вы должны определять их внутри функций.

Например, попробуйте поместить это в ваш gulpfile.js:

(Имейте в виду, эта функция еще не является реальной задачей gulp, но она послужит хорошей отправной точкой.)

Если вы сейчас попробуете запустить gulp еще раз, вы увидите, что результаты не изменились. Чтобы ваша функция стала задачей, вы должны явно сделать ее задачей или придерживаться правильной терминологии: вы должны экспортировать ее . В следующем посте я расскажу об экспорте задач из gulpfile.js, потому что хочу, чтобы этот пост был как можно более простым. В экспорте задач гораздо больше, чем кажется на первый взгляд, поверьте мне на слово.

Gulp – это модуль Node.js, а это значит, что для его использования вам необходимо загрузить его в свой скрипт. первый. В Node.js мы называем этот процесс

требующим модуля. Чтобы потребовать модуль, вы просто вызываете встроенную функцию require. Обычно вам требуется модуль в начале вашего скрипта, поэтому вы можете вставить следующую строку вверху вашего скрипта:

Затем вы можете сделать свою функцию helloWorld задачей, просто передав ее в метод задачи. Обычно это делается в конце файла gulp. Теперь ваш gulpfile.js будет выглядеть так:

Выполняется gulp по-прежнему не производит никакого эффекта, но если вы запустите gulp –tasks, вы увидите, что gulp теперь распознает вашу функцию helloWorld как задачу, которую она может вызывать:

Одна замечательная вещь с gulp заключается в том, что VS Code изначально понимает их. Любая задача, которую вы настраиваете в своем gulpfile.js, автоматически становится доступной для VS Code. Чтобы проверить это смелое утверждение, нажмите Ctrl + Shift + P, затем запустите команду «Задачи: выполнить задачу». Она должна показать следующее:

Здесь есть одно предостережение. В отличие от файла tasks.js VS Code, который обновляется при каждом изменении, файл gulpfile. js обрабатывается только один раз за сеанс VS Code. VS Код обработает ваш файл gulpfile.js при первом вызове команды «Задачи: Выполнить задачу», и никакие изменения, внесенные вами после этого, не будут видны в списке задач. Если вы каким-либо образом измените свои задачи gulp, добавив, удалив или переименовывая задачи, ваш список задач VS Code не будет отражать это, пока вы не перезапустите VS Code.

Теперь, когда задача явно существует и VS Code знает об этом, мы можем попробовать запустить ее .

Чтобы запустить задачу gulp, вы можете вызвать ее из терминала по спецификации если указать его имя сразу после команды gulp. Примерно так:

 gulp helloWorld  

Это запустит задачу и покажет следующий результат:

Очевидно, что-то не так. Это потому, что функция, которую вы написали, не является реальной задачей gulp, как я сказал ранее. Не каждую функцию JavaScript можно действительно использовать как задачу gulp, есть определенный шаблон, которому должны следовать ваши функции. Я буду писать в блоге гораздо больше о задачах gulp и о том, как их писать, но пока давайте просто скажем следующее: задачи gulp выполняются асинхронно, и ваши задачи должны каким-то образом сигнализировать о завершении, чтобы указать среде выполнения gulp, что задача завершена, и следующая задача может быть выполнена.

Самый простой способ сигнализировать о завершении с помощью обратного вызова при первой ошибке. Каждая функция gulp получает один аргумент, и этот аргумент имеет тип function. Это ваш аргумент обратного вызова, который вы должны вызывать по завершении задачи. Если ваша задача выполнена успешно, вы просто вызываете обратный вызов без каких-либо аргументов:

Попробуйте выполнить задачу helloWorld прямо сейчас, а затем вставьте пробку для своей первой успешной задачи gulp:

И пока что на этом все. На данный момент у вас есть инфраструктура gulp, у вас есть первая задача gulp, которую вы можете вызывать как из терминала (командной строки), так и из палитры команд.

В моем следующем посте я объясните немного больше об экспорте задач из вашего gulpfile.js. Следите за обновлениями и почувствуйте себя приглашенным поделиться своими мыслями.

Содержание

  1. Поделитесь этим:
  2. Нравится :
  3. По теме

Поделитесь этим:

  • Twitter
  • Facebook

Нравится :

Нравится Загрузка …

По теме

gulp@0 — задача gulp v0

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья

Используйте эту задачу для запуска gulp Node. js системы сборки на основе задач потоковой передачи.

Node.js система сборки на основе задач потоковой передачи.

Синтаксис

# gulp v0
# Run the gulp Node.js streaming task-based build system.
- task: gulp@0
  inputs:
    gulpFile: 'gulpfile.js' # string. Required. gulp File Path. Default: gulpfile.js.
    #targets: # string. gulp Task(s). 
    #arguments: # string. Arguments. 
  # Advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    gulpjs: 'node_modules/gulp/bin/gulp.js' # string. Required. gulp.js location. Default: node_modules/gulp/bin/gulp.js.
  # JUnit Test Results
    #publishJUnitResults: false # boolean. Publish to Azure Pipelines. Default: false.
    #testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test Run Title. 
  # Code Coverage
    #enableCodeCoverage: false # boolean. Enable code Coverage.  Default: false.
    #testFramework: 'Mocha' # 'Mocha' | 'Jasmine'. Optional. Use when enableCodeCoverage = true. Test Framework. Default: Mocha.
    #srcFiles: # string. Optional. Use when enableCodeCoverage = true. Source Files. 
    #testFiles: 'test/*.js' # string. Required when enableCodeCoverage = true. Test Script Files. Default: test/*.js.
# Gulp v0
# Node.js streaming task based build system.
- task: Gulp@0
  inputs:
    gulpFile: 'gulpfile.js' # string. Required. Gulp File Path. Default: gulpfile.js.
    #targets: # string. Gulp Task(s). 
    #arguments: # string. Arguments. 
  # Advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    gulpjs: 'node_modules/gulp/bin/gulp.js' # string. Required. gulp.js location. Default: node_modules/gulp/bin/gulp.js.
  # JUnit Test Results
    #publishJUnitResults: false # boolean. Publish to Azure Pipelines/TFS. Default: false.
    #testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true.  Test Results Files. Default: **/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test Run Title. 
  # Code Coverage
    #enableCodeCoverage: false # boolean. Enable code Coverage. Default: false.
    #testFramework: 'Mocha' # 'Mocha' | 'Jasmine'. Optional. Use when enableCodeCoverage = true. Test Framework. Default: Mocha.
    #srcFiles: # string. Optional. Use when enableCodeCoverage = true. Source Files. 
    #testFiles: 'test/*.js' # string. Required when enableCodeCoverage = true. Test Script Files. Default: test/*.js.
# YAML Syntax is not supported in TFS 2018.
# Use the classic designer to add and configure tasks.
# See the following Inputs section for details on the inputs that this task supports.

Входные данные

gulpFileПуть к файлу gulp
string. Обязательный. Значение по умолчанию: gulpfile.js.

Относительный путь из корня репозитория файла скрипта gulp, который требуется запустить.


gulpFileПуть к файлу Gulp
string. Обязательный. Значение по умолчанию: gulpfile.js.

Относительный путь из корня репозитория файла скрипта gulp, который требуется запустить.


targetsЗадачи gulp
string.

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


targetsЗадачи Gulp
string.

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


argumentsАргументы
string.

Дополнительные аргументы, передаваемые в gulp. --gulpfile не требуется, так как он уже добавлен с помощью gulpFile входных данных выше.


workingDirectoryРабочий каталог
Входной псевдоним: cwd. string.

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


gulpjs расположениеgulp.js
string. Обязательный. Значение по умолчанию: node_modules/gulp/bin/gulp.js.

Выполняется gulp.js , когда агенту не удается найти глобальный gulp. По умолчанию для этих входных данных используется объект , gulp.js установленный в папке node_modules рабочего каталога.


publishJUnitResultsПубликация в Azure Pipelines
boolean. Значение по умолчанию: false.

Публикует результаты теста JUnit из сборки gulp в Azure Pipelines/TFS.


publishJUnitResultsПубликация в Azure Pipelines/TFS
boolean. Значение по умолчанию: false.

Публикует результаты теста JUnit из сборки gulp в Azure Pipelines/TFS.


publishJUnitResultsПубликация в TFS/Team Services
boolean. Значение по умолчанию: false.

Публикует результаты теста JUnit из сборки gulp в Azure Pipelines/TFS.


testResultsFilesФайлы результатов теста
string. Требуется, если publishJUnitResults = true. Значение по умолчанию: **/TEST-*.xml.

Путь к файлам результатов теста. Можно использовать символы-шаблоны. Например, можно использовать **/TEST-*.xml для всех XML-файлов, имя которых начинается с TEST-.


testRunTitleЗаголовок тестового запуска
string. Необязательный элемент. Используйте при publishJUnitResults = true.

Предоставляет имя тестового запуска.


enableCodeCoverageВключение покрытия кода
boolean. Значение по умолчанию: false.

Включает покрытие кода с помощью Istanbul.


testFrameworkПлатформа тестирования
string. Необязательный элемент. Используйте при enableCodeCoverage = true. Допустимые значения: Mocha, Jasmine. Значение по умолчанию: Mocha.

Указывает платформу тестирования.


srcFilesИсходные файлы
string. Необязательный элемент. Используйте при enableCodeCoverage = true.

Предоставляет путь к исходным файлам, которые необходимо подключитьRequire().


testFilesФайлы тестового скрипта
string. Требуется, если enableCodeCoverage = true. Значение по умолчанию: test/*.js.

Предоставляет путь к файлам тестового скрипта.


Параметры управления задачами

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

Выходные переменные

Нет.

Используйте эту задачу для выполнения задач gulp с помощью Node.js системы сборки на основе задач потоковой передачи.

Примечание

Gulp не предустановлен на всех размещенных агентах. См. статью Установленное программное обеспечение в образах виртуальных машин.

Примеры

Запуск gulp.js

- task: Npm@1
  inputs:
    command: 'install'
- task: gulp@0
  inputs:
    gulpFile: 'gulpfile.js'
    gulpjs: 'node_modules/gulp/bin/gulp.js'

Создание приложения Node.js

  • Создание приложения Node.js с помощью gulp

Требования

ТребованиеОписание
Типы конвейеровYAML, классическая сборка
Выполняется вАгент, DeploymentGroup
ТребованияДля выполнения заданий, использующих эту задачу, локальные агенты должны иметь возможности , соответствующие следующим требованиям : node. js
CapabilitiesЭта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения командЛюбой
Устанавливаемые переменныеЛюбой
Версия агента1.91.0 или более поздней версии
Категория задачСборка

windows — команда gulp не найдена — ошибка после установки gulp

спросил

Изменено 1 год, 10 месяцев назад

Просмотрено 360 тысяч раз

Я установил gulp как глобально, так и локально, используя

 npm install gulp
npm установить глоток -g
npm установить gulp-util
npm установить gulp-util -g
 

При попытке запустить gulp я получаю

'gulp' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл.

Запуск npm list gulp (или -g), я [email protected] с указанием местоположения моей глобальной или локальной установки gulp.

Я пытался запустить node gulpfile.js , указывающий на мой gulpfile, и он работает без ошибок, и, конечно же, он начинается с require('gulp') .

Любые предложения о том, как заставить gulp работать в Windows (8.1)?

  • окна
  • node.js
  • глоток

8

Вы забыли установить пакет gulp-cli:

 npm install -g gulp-cli
 

Затем вы можете запустить команду «gulp» из командной строки.

5

Проблему и ответ можно найти в этом вопросе: https://stackoverflow.com/a/9588052/1041104

Модули npm, такие как gulp, не установлены по пути. При этом не обнаруживаются при запуске их в CMD.

Если gulp был установлен глобально, вы можете использовать следующий процесс:

  1. Создайте переменную окружения с именем NODE_PATH
  2. Установите для него значение: %AppData%\npm\node_modules или %AppData%\npm в Windows 8-10
  3. Закройте CMD и снова откройте, чтобы получить новые переменные ENV

Запуск npm ls и npm ls -g показывает, что они установлены, но CMD не может их найти из-за недостающая ссылка .

11

  1. Убедитесь, что у вас есть gulp и gulp.cmd (используйте поиск Windows)
  2. Скопируйте путь gulp.cmd ( C:\Users\XXXX\AppData\Roaming\npm )
  3. Добавьте этот путь в переменную среды Path или , отредактируйте переменную среды PATH и добавьте %APPDATA%\npm
  4. Повторно открыть командную строку.

Добавить %APPDATA%\npm в начало пути, а не в конец пути.

3

  1. Глобально установить gulp.

    установка нпм -г глоток

  2. Установите gulp локально в проекте.

    нпм установить глоток

  3. Добавьте строку ниже в ваш package.json

    "скрипты": { "глоток": "глоток" }

  4. Выполнить глоток.

    нпм запустить глоток

Это сработало для меня.

4

Я использую Windows 8.1. У меня такая же проблема.

Я установил gulp с помощью командной строки Node.js

 npm install -g gulp
 

Затем перейдите в нужный каталог в командной строке Node.js и попробуйте

 gulp -v
 

Если локальная версия gulp не найдена, выйдите из текущей командной строки Node.js и попробуйте выполнить указанную выше команду в новой командной строке Node.js

Я попробовал NODE_PATH, упомянутый @SteveLacy, но командная строка все еще не смогла обнаружить команду gulp

6

Была та же проблема, не совсем лучшее решение, но установите его глобально:

 npm install -g gulp
 

Конечно, лучше иметь его в package.json , поэтому вы можете сделать следующее, чтобы установить его локально и добавить запись в package. json :

 npm install --save-dev gulp
 

Все остальное (плагины gulp) также устанавливаются локально.

0

Простое решение: просто сделайте npm link gulp

2

У меня возникла та же проблема, когда я пытался заставить gulp работать на виртуальной машине коллеги. Кажется, проблема связана с папкой пользователей.

Добавление NODE_PATH в мои переменные среды не решило проблему.

Если вы отредактируете переменную «Путь» в своих системных переменных и добавите «%APPDATA%\npm» в конце, это должно решить проблему… Если только вы или кто-то еще не установил gulp как другой пользователь, чем тот, вы в настоящее время вошли в систему как.

Если вы хотите, чтобы он был доступен для всех пользователей, явно укажите «C:\Users\yourUser\AppData\Roaming\npm» (или там, где у вас есть gulp) вместо «%APPDATA%\npm». Вы также можете переместить файлы по более удобному для пользователя пути.

Не забудьте запустить новую командную строку, потому что та, которую вы открыли, не получит новую переменную «Путь» автоматически.

Теперь «глоток».

Один правильный путь:

  1. Cmd + R : введите «%appdata%»
  2. Перейти в папку npm
  3. Скопируйте весь путь, например «C:\Users\Blah…\npm\»
  4. Перейти к моему компьютеру + щелкните правой кнопкой мыши «Свойства»
  5. Расширенные настройки системы (слева)
  6. Нажмите на переменные среды
  7. Нажмите «Редактировать путь»
  8. Добавьте «C:\Users\Blah…\npm\» в конец и введите «;» после этого
  9. Нажмите «ОК» и снова откройте cmd

3

Сначала вы должны установить gulp как глобальный, используя:

 npm install gulp -g
 

В противном случае решение пути не решит проблему.

Затем добавьте путь к модулям npm в PATH, используя:

 PATH = %PATH%;%APPDATA%\npm
 

2

В моем случае это было то, что я должен был установить gulp-cli командой npm -g установить gulp-cli

0

Попробуйте добавить в переменную PATH следующее:

 C:\Users\YOUR_USER\AppData\Roaming\npm
 

У меня была та же проблема, и я решил добавить путь к модулям узла.

У меня была аналогичная проблема с настройкой в ​​​​Windows 10. Мой ответ специфичен для Windows (посмотрите ответы на изменение пути в bash для решения Linux или OSX)

Основная проблема, с которой я столкнулся, заключалась в том, что папка npm не была зарегистрирована в пути. Первоначально я пытался изменить это в командной строке cmd.

 setx путь "%path%;%appdata$\npm"
 

Обратите внимание, что я использовал setx вместо set, чтобы гарантировать сохранение обновления переменной окружения. Также обратите внимание, что это обратная косая черта.

Это должно работать, но для меня это не сработало, потому что setx имеет ограничение на прием только 1024 символов… (да, для меня это тоже бессмысленно).

Итак, попробуйте вышеописанное, и если вы получите предупреждение о достижении предела 1024, как это было, тогда вы можете сделать по-другому, как я в итоге сделал.

Сначала, пока вы все еще находитесь в консоли, введите: echo %appdata%\npm … это ваша папка npm, которую вы хотите добавить в путь, поэтому добавьте ее в буфер обмена.

Вы должны войти в реестр и добраться до следующей папки:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Затем добавьте значение «Путь» с путем к папке npm в буфере обмена. Перезагрузитесь, чтобы активировать новое значение, и теперь все готово.

Наконец, просто протестируйте все это

 > npm установить -g глоток
>глоток
 

5

Это закончилось для меня проблемой «пользователя». Я установил npm и node в систему, войдя в систему как user1, затем я настроил user2. Я мог запускать node, и я мог запускать команды npm, но не мог запускать какие-либо пакеты npm из командной строки.

Я удалил node и npm и переустановил под правильным пользователем, чтобы решить проблему. После этого я могу без проблем запускать пакеты из командной строки.

1

Верхний ответ у меня не сработал.

Я использую виртуальную машину, у которой был предыдущий владелец. У предыдущего владельца была установлена ​​старая версия npm. Используя это, я установил gulp глобально с помощью npm install -g gulp . Выполнение команды gulp вернет 'gulp' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл. . Как я уже сказал, верхний ответ не решил мою проблему. Мне в основном пришлось переустановить nodejs.

Решение

  1. Повторно загрузить nodejs
  2. установка нпм -г глоток
  3. gulp-версия

Это решило проблему для меня.

3

У меня была версия 0.12.3 Nodejs на Win7 x64, и я столкнулся с аналогичными проблемами при попытке установить gulp. Это сработало для меня:

  1. Удалены Nodejs
  2. Установлен Nodejs v0.10.29
  3. нпм установить -g нпм
  4. нпм установить -г глоток

2

Установщик NodeJS добавляет путь user/AppData/Roaming/npm к пути среды пользователя, что является подходящим.

Обычно переменная среды PATH в командной строке представляет собой комбинацию пути пользовательской среды и пути системной среды.

Однако, если путь пользовательской среды + путь системной среды больше, чем примерно 1920 символов, Windows не объединяет пользовательский и системный пути — используется только путь системной среды.

См.: https://stackoverflow.com/a/21270921/301152

Итак, когда вы открываете Расширенные настройки системы в Windows для редактирования переменных среды, посмотрите, есть ли у пользователя/AppData/Roaming/npm path уже находится в вашей пользовательской среде PATH. Если это так, то проблема в том, что ваши пользовательские и системные пути слишком длинные, из-за чего Windows игнорирует ваш пользовательский путь. Обрежьте строки пути пользователя и/или системы, и gulp должен работать как установленный.

Если вы не можете найти ничего, что можно было бы отрезать от пути пользователя и системы, добавьте путь user/AppData/Roaming/npm к пути системной среды и назовите это хаком.

1

Столкнулся с той же проблемой после установки. Итак, я попытался запустить cmd с повышенными привилегиями (администратор), и это сработало.

Снимок экрана:

3

Добавьте этот путь в переменные среды PATH C:\Users\ИМЯ ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\npm\

(Windows 10) Мне не понравились ответы пути. Я использую диспетчер пакетов choco для node.js. Gulp не срабатывал бы для меня, если бы он не был:

  1. Глобально установлен npm i -g gulp и локальный каталог npm i --save-dev gulp

  2. Проблема сохранялась после одного раза, которая была исправлена ​​, полностью удалив node. js и переустановив его.

Я не видел комментариев по поводу локального/глобального удаления/переустановки и node.js.

Чаще всего это происходит потому, что он не находится в переменных среды, как указывали другие. Это то, что сработало для меня.

эхо %PATH%

Это покажет вам, какая у вас переменная окружения PATH. Если node_modules отсутствует, сделайте следующее, чтобы добавить его из пути APPDATA.

ПУТЬ = %ПУТЬ%; %APPDATA%\npm

1

Я решил это, добавив C:\Пользователи\[ПОЛЬЗОВАТЕЛЬ]\AppData\Роуминг\npm до ПУТЬ и не C:\Users\[ПОЛЬЗОВАТЕЛЬ]\AppData\Roaming\npm\node_modules

1

У меня уже было одно условие из этого ответа (не знаю почему)

https://stackoverflow. com/a/27295145/1175496

То есть мой PATH уже включал %APPDATA%\npm

В моем случае проблема была npm не устанавливал туда модули (опять же не знаю почему)

Поэтому мне нужно было сделать так:

$ npm config set prefix -g %APPDATA%/npm

После этого запускается $ npm install -g gulp (или установка любого другого модуля) поместите модуль в то место, где его ожидает PATH.

Это работает для меня:

 npm link gulp
 обновление нпм
 

1

В моей Windows 10 Enterprise gulp не был установлен в %AppData%, то есть C:\Users\ имя пользователя \AppData\npm\node_modules на моем компьютере, но в C:\Users\ имя пользователя \AppData\ Локальные\npm\node_modules.

Чтобы получить gulp в командной строке или в powershell, я добавил к пользовательскому PATH значение C:\Users\username\AppData\Local\npm . После этого он работал как шарм. Естественно, мне пришлось закрыть командную строку или окно powershell и снова открыть, чтобы вышеуказанное вступило в силу.

0

Команда gulp не нашла проблему в Windows 10, и добавление «%AppData%\npm\node_modules» у меня не работает. Пожалуйста, выполните следующие действия:

После выполнения

npm install -g npm

И

npm install -g gulp

Добавить

9Users\n\n\n\n\nnames 90Users 90 0018

до входа Системные переменные.

Это работает для меня после того, как все решения не помогли мне.

Выполнить npm install gulp -g

Если вы используете Windows, добавьте каталог gulp в PATH.

, например, C:\Users\ВАШЕ ИМЯ\AppData\Roaming\npm\node_modules\gulp

В Windows:

  1. Используя проводник Windows, перейдите в свою общую папку vagrant (кстати, я использую scotchbox) например C:\scotchbox/public/gulpProject
  2. В адресной строке папки введите cmd и нажмите Enter
  3. Выполните установку gulp npm install

Вкратце:

Вы должны добавить %NODE_PATH% к системной переменной Путь , если другие ответы не работают.

Причина:

Дело в том, что командная строка выполняет только программы под Путь системной переменной , а не пользовательских переменных . Если в качестве пользовательской переменной установлено NODE_PATH , добавьте %NODE_PATH% 9от 0018 до Путь .


Я спросил здесь и получил дубликат для вопроса с другим намерением 🙁

NPM Windows не выполняет программу по пути переменной пользователя [дубликат]

В Windows:

  1. Нажмите следующие две клавиши: Windows + р
  2. Введите control /name microsoft.system в диалоговое окно запуска, появившееся на предыдущем шаге.

  1. Выберите Расширенные настройки системы слева на панели окна
  2. Перейдите на вкладку Дополнительно в появившемся окне свойств системы и нажмите кнопку Переменные среды .
  3. Изменить PATH Пользовательская переменная среды.
  4. Нажмите New в окне редактирования переменной среды, которое появляется для переменной PATH , и добавьте следующее: %APPDATA%\npm в начало PATH переменная среды (как показано на рисунке ниже).

  1. Закройте командную строку и снова откройте ее.

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

node.

js — Как запустить gulp, если gulp установлен (node_modules) в папке, отличной от gulpfile.js

спросил

Изменено 6 лет, 5 месяцев назад

Просмотрено 17 тысяч раз

У меня есть gulpfile.js в одном каталоге и node_modules в другом. Когда я запускаю gulp, я получаю сообщение об ошибке - «Локальный глоток не найден в« .. (каталоге )».. Попробуйте запустить: npm install gulp'

Дело в том, что я не могу установить gulp в каталог gulpfile.js, поэтому мне нужен способ указать gulp ссылаться на другой каталог, в котором я установил gulp.

  • node.js
  • npm
  • gulp

Вам не нужно устанавливать gulp глобально, если вы этого не хотите. Что вы можете сделать, так это запустить исполняемый файл gulp (из вашего node_modules), а затем передать местоположение вашего файла gulp, используя параметр --gulpfile . Кроме того, если вы хотите контролировать, где работает ваш gulp, используйте --cwd параметр.

Вот пример:

 /gulp/bin/gulp.js --gulpfile  --cwd 
 

1

Нет необходимости устанавливать gulp глобально. Сначала установите gulp (в идеале на зависимости dev)

npm install gulp --save-dev

Затем в package.json добавьте строку, которую вы хотите запустить

"scripts" : { "глоток" : "глоток"} }

Наконец, в командной строке используйте

npm run gulp

npm будет использовать двоичный файл из узловых модулей без необходимости его глобальной установки или записи всего пути

Вам необходимо установить gulp глобально:

npm install -g gulp

Это позволит вам запустить gulp из командной строки в любом каталоге.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *