Как добавить Gulp в мой проект?

Я использую Windows 7, Visual Studio 2013. Я пытаюсь настроить Gulp в своем клиентском проекте.

Я добавил эти Nugets в проект: Node.js версии 0.12.0 Npm.js версии 1.3.15.10.

По какой-то причине я не знаю, при запуске npm init внутри диспетчера пакетов nuget, когда проектом по умолчанию является клиент, он не создает файл package.json, никаких вопросов относительно файла не задается, и команда никогда не завершается.

Это как-то связано с тем, что я работал только над проектом Visual Studio? Позже я скачал Node.js через установщик, потому что на моем компьютере не существовало версии node.js.

Нужно ли устанавливать npm также вне Visual Studio? У меня там нет доступа к сети, должен ли я получить файл .msi?

Что касается пакета Gulp nuget, я читал на других сайтах, что Gulp следует устанавливать через npm с помощью этой команды: npm install gulp -g -save dev. Я не могу запустить эту команду, потому что у меня нет сетевого подключения, поэтому как я могу сделать это только с пакетом gulp nuget?

Пожалуйста, помогите мне понять, какие шаги необходимы для запуска node.js, npm и, наконец, Gulp.


person Community    schedule 30.05.2016    source источник
comment
Можете ли вы поделиться выводом на терминале? Вы должны запустить npm config set loglevel info, а затем снова запустить команду установки, чтобы просмотреть вывод.   -  person gnerkus    schedule 30.05.2016
comment
Не уверен, что правильно установил уровень журнала, потому что сообщение такое же, но я опубликовал его.   -  person    schedule 30.05.2016
comment
Возможно, это могло бы быть более полезным: CategoryInfo: NotSpecified: (информация npm работала, если заканчивалась на ok:String) [], RemoteException + FullyQualifiedErrorId: NativeCommandError   -  person    schedule 30.05.2016
comment
это не отвечает на ваш вопрос, но серьезно рассмотрите возможность использования виртуальной машины с Linux или старой машины Mac/OS/X для вашей разработки. Вы не пойдете далеко с Windows и Visual Studio. Я знаю, что сейчас это может показаться хлопотным, но поверьте мне, ваши проблемы не остановятся на этом.   -  person George Katsanos    schedule 08.06.2016
comment
Вся наша команда основана на окнах... не может просто так внезапно изменить это. Это было очень удобно для всех нас. Почему было бы лучше изменить это?   -  person    schedule 08.06.2016


Ответы (2)


Я не знаю, в чем дело с npm init, но мое первое предложение — попробовать более новую версию npm — текущая версия — 3.9.6; Я подозреваю, что вам будет лучше, если вы будете использовать более современную версию. Как правило, npm и node предназначены для глобальной установки, а не для одного пакета; Я мало что знаю о nuget, но это также может вызвать проблемы (я думаю, что если вы установите npm локально, вы сможете использовать его нормально, как и ./node_modules/.bin/npm init --yes, поэтому я указываю его вторым). Вы можете получить msi для установки версии lts обоих здесь, хотя, насколько я понимаю, у вас нет доступа к сети. Если это не сработает, вы можете довольно легко создать package.json вручную, и он будет так же хорош, как и автоматически сгенерированный -- здесь некоторые разумно примеры. Вы также можете зарегистрировать проблему с npm.

Что делать, чтобы установить gulp, если вы не можете запустить npm i -g, это проще, чем вы могли бы ожидать. Нет никакой разницы между gulp, установленным локально, и gulp, установленным локально, они просто используют два разных скрипта при доступе к ним. При require("gulp") вы получаете сценарий, указанный в main, а при запуске gulp в командной строке вы получаете сценарий, указанный в bin, и оба включены как в локальной, так и в глобальной установке (вы можете посмотреть gulp package.json подробнее). Итак, что это означает для глобальной установки, так это то, что все, что вам нужно сделать, это каким-то образом получить файл bin gulp (node_modules/gulp/bin/gulp.js или node_modules/.bin/gulp, который указывает на node_modules/gulp/bin/gulp.js) в вашем PATH (вы не можете просто скопировать скрипт в папку на вашем путь, однако для работы ему нужны все остальные вещи из его папки в node_modules), или вы можете напрямую вызвать скрипт bin из вашей локальной установки (я пользователь Linux, поэтому я бы запустил задачу compile следующим образом : ./node_modules/.bin/gulp compile -- Я не знаю, как работать с Windows, так что надеюсь, что это вас достаточно приблизит).

person prekolna    schedule 06.06.2016
comment
Могу ли я даже запустить какие-либо команды npm? Нужно ли мне его устанавливать, если у меня нет подключения к сети? На данный момент у меня установлен node.js через файл .msi (с npm). Я также загрузил его в свой проект и создал папку .bin с созданным node.cmd. Для чего это используется? - person ; 07.06.2016

Кажется, что команда работает бесконечно, потому что вы не предоставили никаких ответов. Команда npm init является интерактивной и будет продолжаться только после того, как вы предоставите ответ на каждый запрос ввода.

Из документации:

Это задаст вам кучу вопросов, а затем напишет для вас package.json.

Если вы хотите использовать конфигурацию по умолчанию для package.json, вы можете вместо этого запустить npm init -y.

Если вы вызовете его с параметрами -f, --force, -y или --yes, он будет использовать только значения по умолчанию и не будет запрашивать какие-либо параметры.

person gnerkus    schedule 30.05.2016
comment
Запуск npm init -f , npm init -y приводит к тому же сообщению.. он работает и ничего не происходит - person ; 30.05.2016
comment
Был ли создан файл package.json? - person gnerkus; 30.05.2016
comment
Нет не создавался - person ; 30.05.2016
comment
Может быть, я не использую самую новую версию Node.js? Или может я что-то забыл настроить? Я должен установить Node.js и npm только в своем клиентском проекте? - person ; 30.05.2016
comment
Это не проблема. К сожалению, у меня недостаточно информации. npm init -y должен создать файл package.json. Сообщение в вопросе указывает, что npm init работает как надо. - person gnerkus; 30.05.2016
comment
Я в отчаянии, package.json нигде не создается ... может быть, есть другие идеи? - person ; 31.05.2016