Установка gulp на vagrant гостя с помощью npm через bash
Мне очень трудно разобраться во всем этом. Я использую Ansible для предоставления коробки precise64 с кучей вещей, включая узел:
- name: Node.js | Add the node.js PPA
apt_repository: repo=ppa:chris-lea/node.js
tags: nodejs
- name: Node.js | Install nodejs and npm
apt: pkg=nodejs update_cache=yes
tags: nodejs
Как только подготовка завершена, я должен Vagrant запустить сценарий bash, чтобы запустить некоторую дополнительную подготовку, включая определенные пакеты npm, такие как gulp:
#!/bin/bash
sudo -u vagrant -i -- npm install gulp -g --no-bin-links --prefix "/project";
Похоже, что сценарий bash работает:
==> project: [email protected] /project/lib/node_modules/gulp
==> project: ├── [email protected]
==> project: ├── [email protected]
==> project: ├── [email protected]
==> project: ├── archy@1. 0.0
==> project: ├── [email protected]
==> project: ├── [email protected] ([email protected])
==> project: ├── [email protected]
==> project: ├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
==> project: ├── [email protected]
==> project: ├── [email protected] ([email protected], [email protected], [email protected])
==> project: ├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
==> project: ├── [email protected] ([email protected], [email protected], [email protected], [email protected])
==> project: └── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
И vagrant, кажется, думает, что gulp там:
vagrant@project:/project$ npm -v gulp
1. 4.28
Просто не исполняется:
vagrant@project:/project$ gulp
No command 'gulp' found, did you mean:
Command 'gslp' from package 'ghostscript' (main)
gulp: command not found
Если я вручную установлю gulp на гостя, то это сработает:
vagrant@project:/project $ sudo npm install gulp -g
...
vagrant@project:/project$ gulp
[21:05:29] Using gulpfile /project/gulpfile.js
[21:05:29] Starting 'default'...
[21:05:29] Finished 'default' after 40 μs
Итак, я думаю, что мне не хватает символической ссылки или чего-то еще? Я попробовал это сделать через bash:
ln -s /usr/lib/node_modules/gulp/bin/gulp.js /usr/bin/gulp;
Но, то же самое дело.
Идеи?
Поделиться Источник user3357740 23 января 2015 в 21:12
2 ответа
- Установка NodeJS с Vagrant shell provisioner не работает
Я пытаюсь установить node. js и некоторые пакеты через Vagrant и shell provisioner. Я нахожу три случая: 1-Простой vagrant up и ввод команд вручную один раз внутри vagrant ssh Этот работает отлично, вот почему я не понимаю, почему следующие 2 случая этого не делают 2-Установка из bootstrap.sh…
- Как ускорить Jenkins при сборке nodejs с настройкой vagrant?
Я попытался автоматически создавать и загружать файлы с помощью Jenkins. Так что теперь я использую Jenkins/Git/vagrant, и он отлично работает! Но… уже слишком поздно.. Сейчас этот процесс занимает более 30 минут. Сейчас я уничтожу последние vagrant установка и удаление предыдущих рабочее…
1
другой вариант — использовать псевдоним
alias gulp="node_modules/gulp/bin/gulp.js"
(эту строку можно добавить в ~/.bashrc)
цель этого состоит в том, чтобы вызвать gulp для данного проекта (так как у вас может быть несколько проектов, и каждый со своим собственным gulp)
Поделиться Max 08 мая 2015 в 10:44
1
Ваша команда npm install -g
говорит, что ваш gulp установлен в этом каталоге. /project/lib/node_modules/gulp
Попробуйте символическую ссылку ln -s /project/lib/node_modules/gulp/bin/gulp.js /usr/bin/gulp
/project dir, скорее всего, не в вашем PATH.
Поделиться sheldonk 23 января 2015 в 23:19
Похожие вопросы:
NPM автоматическая установка gulp компонентов
Я настраиваю gulp для выполнения задач с моими файлами JS в устаревшем проекте .NET WebForms. Я установил NPM, который затем использовал для установки Gulp, и я могу успешно запустить gulp, который…
Установка gulp с npm
я пытаюсь установить gulp через npm на DigitalOcean droplet со следующей командой (с sudo и без него): npm install -g gulp и я получаю ошибки, которые не могу понять: > [email protected] install…
Vagrant: Ошибка Установки ‘gulp’
Я запускаю vagrant provision , и последний шаг завершается неудачей с ошибкой установки ‘gulp’. Смотреть ниже. Что это значит и как его решить? Никто из тех, кто запускал этот сценарий vagrant,…
Установка NodeJS с Vagrant shell provisioner не работает
Я пытаюсь установить node.js и некоторые пакеты через Vagrant и shell provisioner. Я нахожу три случая: 1-Простой vagrant up и ввод команд вручную один раз внутри vagrant ssh Этот работает отлично,…
Как ускорить Jenkins при сборке nodejs с настройкой vagrant?
Я попытался автоматически создавать и загружать файлы с помощью Jenkins. Так что теперь я использую Jenkins/Git/vagrant, и он отлично работает! Но… уже слишком поздно.. Сейчас этот процесс…
npm установка в коробке Vagrant
У меня есть довольно ванильный ящик Vagrant, настроенный с помощью Puphpet с установленным узлом. Однако, когда я ssh в коробку и пытаюсь npm install , у меня, кажется,возникает множество проблем с…
Vagrant и установка пакетов в общую папку
У меня возникли проблемы с установкой пакетов npm в vagrant.
Не удается установить Laravel Elixir с npm install in Vagrant environment
Я установил Laravel с помощью Scotch Box и хочу использовать gulp , чтобы автоматизировать некоторые задачи, но когда я пытаюсь установить Elixir с помощью npm install, я получаю следующий вывод…
Семантический пользовательский интерфейс/npm проблемы/gulp установка
хорошо так что пока я делал некоторую семантическую установку каждый раз когда я что то пробую я получаю ошибки npm установка -g gulp npm ERR! error rolling back Error: EACCES, unlink…
npm глобальная установка не распознана (gulp)
Я пытаюсь использовать gulp в первый раз. Следуя инструкциям в Интернете, я установил его как глобально, так и локально, но все равно получаю ошибку ‘gulp’ is not recognized as an internal or…
Установка Gulp
youtube.com/embed/6nuqro3F_PQ» frameborder=»0″ allowfullscreen=»»/>
Давайте будем разбираться, как можно установить систему Gulp для вашего веб-проекта, который вы в данный момент разрабатываете.
В этом нам поможет официальный сайт:
https://gulpjs.com
И на первом экране вы можете видеть, собственно, всю инструкцию по установке. По сути, это 3 строки, которые нужно будет ввести в командную строку.
В первую очередь нужно понимать, что система Gulp требует того, чтобы на вашем компьютере был установлен менеджер пакетов npm.
Открываем командную строку и выполняем следующую команду:
npm install gulp-cli -g
Это команда глобально установит в нашу операционную систему gulp для командной строки и после этого в командной строке должна стать доступной команда gulp.
Проверить, что у вас все работает, можно набрав:
gulp -v
и должна отобразиться текущая версия установленной gulp-cli.
Большинство команд, которые будут выполняться в системе Gulp, они выполняются через командную строку. Т.е. независимо от того, в каком проекте вы будете работать, важно установить эту систему глобально.
Но, после глобальной установки системы Gulp, нужно понимать, что для каждого проекта будут свои настройки и задания для Gulp.
Если мы создаем какую-то папку для нового проекта, мы должны установить для этого проекта систему Gulp.
Переходим в папку нашего проекта с помощью команды cd путь_до_папки_проекта.
И нам нужно установить в эту папку уже локальную версию системы Gulp т.е. само ядро, к которой будут присоединятся модули и будет формироваться какой-то проект.
Выполняем команду:
npm install gulp -D
После этого у нас появляется папка node_modules, в которой располагаются все пакеты, которые нужны для работы Gulp.
И теперь для того, чтобы завершить процесс установки нам нужно или вручную создать файл gulpfile. js в корневой директории проекта или выполнить команду:
npx -p touch nodetouch gulpfile.js
Это основной настроечный файл, в котором пишутся команды, которые будет выполнять Gulp. Именно с ним мы будем работать в следующих уроках.
По сути это весь процесс установки. Для каждого нового проекта будет создаваться такая структура папок.
Давайте пока завершим с процессом установки и будем далее знакомиться с этой системой.
- Чтение занимает 6 мин
В этой статье
Вы можете создавать решения SharePoint Framework с помощью любого текстового редактора. You can use any text editor to build SharePoint Framework solutions. Можно использовать среду macOS, Windows или Linux.You can use a macOS, Windows, or Linux environment as well.
Эти действия также показаны в видео на канале SharePoint PnP в YouTube:You can also follow these steps by watching this video on the SharePoint PnP YouTube Channel:
Важно!
В приведенных ниже инструкциях предполагается, что вы создаете решения для SharePoint Online с помощью последней версии SharePoint Framework.The following steps assume you’re building solutions for SharePoint Online using the latest version of the SharePoint Framework. Если вы разрабатываете решения для SharePoint Server 2019 или SharePoint Server 2016, обратитесь к дополнительной документации по ссылкам из раздела См. также ниже.If you’re building solutions for SharePoint Server 2019 or SharePoint Server 2016, refer to the additional documentation referenced in the See also section below.
Установите Node.js.Install Node.
jsУстановите последнюю версию Node.js LTS v14.Install the latest version of Node.js LTS v14.
Это рекомендуемая в настоящее время версия Node.js для использования с SharePoint Framework (если ниже не указано иное).This version is the currently recommended version of Node.js to use with the SharePoint Framework (unless otherwise specified below).
Важно!
Среда Node.js часто обновляется и доступна на различных платформах, включая Windows, macOS и Linux.Node.js is frequently updated and available on multiple platforms including macOS, Windows, and Linux. Точные ссылки для скачивания часто меняются, поэтому на этой странице они отсутствуют.Because the exact download links change frequently, they aren’t linked to from this page. Используйте указанные ниже сведения, чтобы определить, какой установщик скачать для вашей платформы.Instead, use the details below to determine which installer to download for your platform.
Помните, что для Node.js всегда доступно два выпуска: LTS (долгосрочная поддержка) и текущая версия.Be aware that Node.js maintains two different releases at all times: LTS & Current version. SharePoint Framework поддерживается только для версий LTS.The SharePoint Framework is only supported on LTS versions. Дополнительные сведения о выпусках Node.js LTS см. на странице Node.js > Выпуски.For more information about Node.js’s Long Term Support (LTS) releases, see: Node.js > Releases.
Совет
На веб-сайте Node.js всегда рекомендуется последняя версия установщика для выпуска LTS и для текущей версии.The Node.js website always recommends the latest installer for both the LTS & Current releases. Если нужно скачать определенные версии Node.js, перейдите на страницу Node.js > Файлы для скачивания > Предыдущие выпуски.To download specific versions of Node.js versions, use the Node.js > Downloads > Previous Releases page.
- Пользователи Windows могут использовать установщики *. msi для архитектуры x86 или x64, в зависимости от установленной версии Windows.Windows users can use the *.msi installers for x86 or x64 depending on your Windows installation. Как правило, имеются только два файла *.msi с именами вида node-v{version-number}-x[86|64].msi.There are usually only two available *.msi files with names similar to node-v{version-number}-x[86|64].msi.
- Пользователям macOS подойдет установщик *.pkg, имя которого обычно имеет вид node-v{version-number}.pkg.macOS users can use the *.pkg installer that’s usually is named node-v{version-number}.pkg.
Можно проверить, установлена ли уже среда Node.js, а также определить установленную версию. Для этого выполните следующую команду:You can check if you already have Node.js already installed, including installed version, by running the following command:
node -v
SharePoint Framework версии 1. 12.1 поддерживается в следующих версиях Node.js:The SharePoint Framework v1.12.1 is supported on the following Node.js versions:
- Node.js версии 10.13.0+ (Dubnium)Node.js v10.13.0+ (Dubnium)
- Node.js версии 12.13.0+ (Erbium)Node.js v12.13.0+ (Erbium)
- Node.js v14.15.0+ (Fermium)Node.js v14.15.0+ (Fermium)
Внимание!
Если вы создаете компоненты SharePoint Framework для локальных развертываний SharePoint, ознакомьтесь с дополнительными страницами по ссылкам из раздела См. также для получения дополнительных сведений.If you’re building SharePoint Framework components for SharePoint on-prem deployments, refer to the additional pages listed in the See also section for more information.
Установка редактора кодаInstall a code editor
Для создания веб-частей можно использовать любой редактор кода или интерфейс IDE, поддерживающий клиентскую разработку, например:You can use any code editor or IDE that supports client-side development to build your web part, such as:
В указаниях и примерах в этой статье используется Visual Studio Code, но вы можете использовать любой редактор. The steps and examples in this documentation use Visual Studio Code, but you can use any editor of your choice.
В наборе инструментов разработки и сборки решений SharePoint Framework используются различные популярные инструменты с открытым исходным кодом.The SharePoint Framework development and build toolchain leverages various popular open-source tools. Хотя большинство зависимостей включены в каждый проект, несколько глобальных зависимостей вам нужно будет установить на своей рабочей станции.While most dependencies are included in each project, you need to install a few dependencies globally on your workstation.
Совет
Вы можете установить все три приведенных ниже инструмента с помощью одной строки.You can install all three of the following tools in a single line:
npm install gulp yo @microsoft/generator-sharepoint --global
Установка GulpInstall Gulp
Gulp — это средство выполнения задач на основе JavaScript, используемое для автоматизации повторяющихся задач. Gulp is a JavaScript-based task runner used to automate repetitive tasks. В наборе инструментов сборки SharePoint Framework задачи Gulp используются для сборки проектов и создания пакетов JavaScript, а полученные пакеты используются при развертывании решений.The SharePoint Framework build toolchain uses Gulp tasks to build projects, create JavaScript bundles, and the resulting packages used to deploy solutions.
Чтобы установить Gulp, введите следующую команду:Enter the following command to install Gulp:
npm install gulp --global
Установка YeomanInstall Yeoman
Yeoman помогает запускать новые проекты, предоставляя рекомендации и инструменты, которые позволят сохранить эффективность работы.Yeoman helps you kick-start new projects, and prescribes best practices and tools to help you stay productive. Средства клиентской разработки SharePoint включают генератор Yeoman для создания веб-частей.SharePoint client-side development tools include a Yeoman generator for creating new web parts. Генератор предоставляет общие средства сборки, стандартный код и общий веб-сайт для тестирования веб-частей.The generator provides common build tools, common boilerplate code, and a common playground website to host web parts for testing.
Чтобы установить Yeoman, введите следующую команду:Enter the following command to install Yeoman:
npm install yo --global
С помощью генератора веб-частей Yeoman для SharePoint можно быстро создать проект клиентского решения SharePoint с правильной цепочкой инструментов и структурой проекта.The Yeoman SharePoint web part generator helps you quickly create a SharePoint client-side solution project with the right toolchain and project structure.
Чтобы глобально установить генератор Yeoman для SharePoint Framework, введите такую команду:To install the SharePoint Framework Yeoman generator globally, enter the following command:
npm install @microsoft/generator-sharepoint --global
Дополнительную информацию о генераторе Yeoman SharePoint см. в статье Формирование шаблонов проектов с помощью генератора Yeoman для SharePoint.For more information about the Yeoman SharePoint generator, see Scaffold projects by using Yeoman SharePoint generator.
Установите современный веб-браузерInstall a modern web browser
В качестве браузера для разработки необходимо использовать современный веб-браузер, например Microsoft Edge, Google Chrome или Firefox.You should be using a modern web browser like Microsoft Edge, Google Chrome, or Firefox as the development browser. Локальное рабочее место не поддерживает использование Internet Explorer 11.Local workbench doesn’t support usage of Internet Explorer 11.
Настройка доверия к самозаверяющему сертификату разработкиTrusting the self-signed developer certificate
Локальный веб-сервер SharePoint Framework, используемый при тестировании пользовательских решений из среды разработки, по умолчанию использует HTTPS.The SharePoint Framework’s local webserver, used when testing your custom solutions from your development environment, uses HTTPS by default. Это реализуется с помощью самозаверяющего SSL-сертификата разработки.This is implemented using a development self-signed SSL certificate. Самозаверяющие SSL-сертификаты не считаются надежными в вашей среде разработки.Self-signed SSL certificates are not trusted by your developer environment. Сначала необходимо настроить доверие к сертификату в среде разработки.You must first configure your development environment to trust the certificate.
Задача utility включена в каждый проект SharePoint Framework в форме задачи gulp.A utility task is included in every SharePoint Framework project in the form of a gulp task. Вы можете сделать это сейчас или после создания первого проекта, как описано в руководстве Создание первой клиентской веб-части SharePoint (Hello World, часть 1).You can elect to do this now, or wait until you create your first project as covered in the Build your first SharePoint client-side web part (Hello World part 1) tutorial.
После создания проекта с помощью генератора Yeoman для SharePoint Framework выполните следующую команду из корневой папки проекта. Once a project has been created with the Yeoman generator for the SharePoint Framework, execute the following command from within the root folder of the project.
gulp trust-dev-cert
Примечание
Предполагается, что вы установили все зависимости с помощью команды npm install
после создания проекта.This assumes you have installed all dependencies with npm install
after creating the project. Этот шаг установит все задачи gulp в составе проекта.This step will install all gulp tasks as part of a project.
Вам также могут пригодиться следующие средства:Following are some tools that might come in handy as well:
Дальнейшие действияNext steps
Теперь вы готовы создать свою первую клиентскую веб-часть!You’re now ready to build your first client-side web part!
Платформа SPFx доступна в SharePoint Online (SPO), SharePoint Server 2019 и SharePoint Server 2016. The SPFx is available on SharePoint Online (SPO), SharePoint Server 2019, & SharePoint Server 2016. В инструкциях по настройке на этой странице предполагается, что вы создаете решения с помощью последней версии SPFx для SharePoint Online.The configuration instructions on this page assume you’re creating solutions using the latest version of the SPFx for SharePoint Online.
SharePoint Online включает все версии SPFx, в том числе все предыдущие и последнюю версии.SharePoint Online contains all versions of the SPFx, including all previous and the latest version. Каждое решение SPFx содержит информацию, которая сообщает SPO, от какой среды выполнения SPFx оно зависит.Each SPFx solution contains information to tell SPO which SPFx runtime it depends.
Если вы создаете решения для локального развертывания SharePoint Server, ознакомьтесь с разделом См. также для получения подробных сведений об определенных версиях SharePoint.If you’re building solutions for a SharePoint Server on-prem deployment, review to the See also section for details on specific SharePoint versions. Каждое локальное развертывание SharePoint поддерживает только определенную версию SPFx.Each SharePoint on-prem only supports a specific version of SPFx. Это может приводить к усложнению конфигураций среды разработки, если вы создаете разные решения для разных развертываний SharePoint.This can introduce complicated development environment configurations if you’re creating different solutions for different SharePoint deployments.
В зависимости от сценария, вам могут потребоваться разные среды разработки.Depending on your scenario, you may need to maintain different development environments. Для решения этих задач разработчики использовали следующие подходы:Developers have used the following approaches to address these challenges:
виртуальные машины;virtual machines
Docker;Docker
Node Version Manager (NVM).Node Version Manager (NVM)
В SharePoint Server 2016 используется SharePoint Framework (SPFx) версии 1.1. SharePoint Server 2016 uses the SharePoint Framework (SPFx) v1.1.
В SharePoint Server 2019 используется SharePoint Framework (SPFx) версии 1.4.1.SharePoint Server 2019 uses the SharePoint Framework (SPFx) v1.4.1.
Устранение неполадокTroubleshooting
Проверка версии глобально установленных пакетовCheck the version of globally installed packages
Чтобы получить список всех глобально установленных пакетов, выполните следующую команду:To get a list of all globally installed packages, run the following command:
npm list --global --depth=0️
Невозможно установить доверие к самозаверяющему сертификату разработкиUnable to Trust the Self-signed Development Certificate
Если при выполнении команды gulp trust-dev-cert не получается установить доверие к вашему самозаверяющему сертификату разработки, и при этом установлены правильные версии всех зависимостей, эту проблему обычно можно решить следующим образом: удалите все глобально установленные пакеты, удалите Node. js, перезагрузите компьютер и начните сначала.If you’re having trouble trusting your self-signed certificate when you run gulp trust-dev-cert & you’ve verified that the correct versions of all dependencies are installed, one solution we usually see resolve the issue is to uninstall all globally installed packages, uninstall Node.js, reboot & start again.
В некоторых случаях выполнение команды gulp trust-dev-cert не дает нужного результата (установления доверия к самозаверяющему сертификату разработки на вашем компьютере).In some cases, executing the command gulp trust-dev-cert, doesn’t have the wanted effect of trusting the self-signed development certificate on your machine. В таких редких случаях может потребоваться удалить скрытую папку, созданную в папке вашего профиля.In rare cases such as these, you may need to delete a hidden folder that’s generated in your profile folder. Найдите и удалите папку /.gcb-serve-data, а затем снова попробуйте настроить доверие к самозаверяющему сертификату разработки. Locate & delete the folder /.gcb-serve-data and then try to trust the self-signed development certificate again.
Невозможно установить пакеты с помощью NPM — корпоративные прокси-серверыUnable to Install Packages with NPM — Corporate Proxies
Если ваша среда разработки защищена корпоративным прокси-сервером, вам необходимо настроить NPM для использования этого прокси-сервера.If your development environment is behind a corporate proxy, you need to configure NPM to use that proxy. См. документацию npm-config по настройке среды разработки, защищенной корпоративным прокси-сервером, в частности настройки proxy & http-proxy.Refer to the npm-config documents on how to configure your development environment behind a corporate proxy… specifically the proxy & http-proxy settings. Дополнительная информация: Как настроить Node.js и Npm в среде, защищенной корпоративным веб-проксиMore information: How to setup Node.2.3.2″ }, «scripts»: { «test»: «echo \»Error: no test specified\» && exit 1″ }, «author»: «», «license»: «ISC» }
Есть идеи о том, что здесь происходит?
5
f1ss1on 3 Ноя 2016 в 01:28
8 ответов
Лучший ответ
Для всех, кто сталкивается с этим, просто запустите npm install и npm update.
Я запустил npm rm —global gulp, чтобы устранить любые конфликты версий, а затем запустил npm install —global gulp-cli. Это произвело чистую установку gulp, и теперь она работает безупречно.
0
Lajos Arpad 12 Янв 2019 в 14:15
Я использую Ubuntu и тоже обнаружил ошибку -bash: gulp: command not found
. Но работать стало после npm install gulp -g
2
Khachornchit Songsaen 11 Апр 2018 в 09:07
Я решил проблему, создав псевдоним в ~ / .bashrc следующим образом:
alias gulp="node /home/deploy/app/node_modules/gulp/bin/gulp.js"
Просто поместите псевдоним в конец файла .bashrc, затем запустите:
source ~/.bashrc
Тест с:
gulp -v
Вы должны увидеть что-то вроде этого:
[15:46:39] CLI version 3.9.1
[15:46:39] Local version 3.9.1
6
Francisco Zanatta 27 Дек 2018 в 17:47
Я попал в ту же проблему. Даже после npm install gulp -g
и npm install bower -g
и gulp, и bower показали ошибку.
Вот что нужно запомнить. 1. Команда gulp и bower не запускается в корневом каталоге (sudo
). Вернитесь к системному пользователю и запустите его 2. Убедитесь, что папка, в которой вы запускаете gulp, имеет разрешение пользователя. иначе в разрешении будет отказано
Надеюсь, что это работает для вас
3
murtuza hussain 30 Ноя 2018 в 12:31
Итак, я столкнулся с этой проблемой, и ни один из основных ответов не помог. Все было установлено, удалено, перезапущено, установлено глобально и т. Д. И т. Д. И все равно получена ошибка команды gulp не найдена. Итак, я открыл файл package.json и поставил после поля имени следующее:
"scripts": {
"start": "gulp"
},
А затем я запустил npm start
в git bash.
Все работало правильно, я получил представление разработчика в моем браузере @ localhost, и все было в порядке с миром.
Надеюсь это поможет!
2
Rich Wertz 1 Ноя 2018 в 16:26
Мне удалось решить эту проблему с помощью трех простых команд, найденных в https://gulpjs.com/
Npm установить gulp-cli -g
Npm установить gulp -D
Npx -p сенсорный nodetouch gulpfile.js
Надеюсь, это поможет кому-то еще.
Ps: не обязательно использовать третью команду для решения проблемы.
2
Community 20 Июн 2020 в 09:12
На MacOS Catalina v10.15.2 у меня сработала следующая глобальная установка с sudo.
sudo npm install gulp -g
2
Anna Jacobson 8 Июн 2020 в 18:25
На MacOS Sierra v10.12.6 у меня работала следующая глобальная установка с sudo.
sudo npm install gulp -g
0
Jonathan Cardoz 30 Янв 2018 в 09:17
глоток-кли — npm
Утилита командной строкидля Gulp
Использование
> gulp [флаги] <задача> <задача> ...
Пользовательские метаданные
При выводе списка задач с помощью команды gulp -T
gulp-cli отображает некоторые настраиваемые метаданные, определенные для функций задач. Поддерживаемые в настоящее время свойства:
-
task.description
— Строка описания для отображения.
function clean () {...}
clean.description = 'Очищает сгенерированные файлы.';
-
task.flags
— Объект с парами ключ / значение, являющимися флагом / описанием для отображения.
function build () {...}
build.flags = {
'--prod': 'Строит в производственном режиме.'
};
Пример использования:
function build () {...}
build.description = 'Скомпилировать весь проект.';
build.flags = {
'--prod': 'Строит в производственном режиме (минификация и т. Д.).
};
gulp.task ('построить', построить);
gulp.task (сборка);
Задачи
Задачи, перечисленные в командной строке, будут выполнены. Если указано более одной задачи, Gulp выполнит их все. одновременно, то есть, как если бы все они были перечислены как зависимости единственная задача.
По умолчанию Gulp не сериализует задачи, перечисленные в командной строке.Если вы хотите выполнять задачи последовательно, необходимо указать флаг --series
. например gulp clean build - серия
Просто запущенный gulp
выполнит задачу по умолчанию
. Если нет по умолчанию
задача, gulp выдаст ошибку.
Завершение строительства
Спасибо команде grunt, особенно Тайлеру Келлену
Чтобы включить автозаполнение задач в оболочке, вы должны добавить eval "$ (gulp --completion = shell)"
в свой .shellrc
файл.
Баш:
Добавьте eval "$ (gulp --completion = bash)"
в ~ / .bashrc
.
ЗШ:
Добавьте eval "$ (gulp --completion = zsh)"
в ~ / .zshrc
.
Powershell:
Добавить Invoke-Expression ((gulp --completion = powershell) -join [System.Environment] :: NewLine)
в $ PROFILE
.
Рыба:
Добавить глоток --completion = fish | источник с
по ~ /.конфиг / рыба / config.fish
.
Компиляторы
Список поддерживаемых языков можно найти на https://github.com/js-cli/js-interpret. Если вы хотите добавить поддержку нового языка, отправьте запросы на вытягивание / открытые задачи по этому проекту.
Окружающая среда
CLI добавляет process.env.INIT_CWD, который является исходным cwd, из которого он был запущен.
Конфигурация
Конфигурация поддерживается за счет использования файла .gulp. *
(например, .gulp.json
, .gulp.yml
). Вы можете найти список поддерживаемых языков на https://github.com/js-cli/js-interpret.
Конфигурация из домашнего каталога ( ~
) и текущего рабочего каталога ( cwd
) объединяется с cwd
, имеющими приоритет.
Свойства поддерживаемых конфигураций:
Имущество | Описание |
---|---|
описание | Описание верхнего уровня проекта / gulpfile (Заменяет «Задачи для ~ / path / of / gulpfile.js «) |
флаги. Продолжение | По умолчанию продолжить выполнение задач после сбоя. |
flags.compactTasks | Уменьшить вывод дерева зависимостей задач по умолчанию. |
flags.tasksDepth | Установить глубину дерева зависимостей задач по умолчанию. |
flags.gulpfile | Установить gulpfile по умолчанию |
флаги. Молчание | По умолчанию ведение журнала без звука |
флагов.серия | Выполнять задачи, указанные в интерфейсе командной строки, последовательно (по умолчанию — параллельно) |
флаги.требовать | Массив модулей, требуемых перед запуском gulpfile. Любые относительные пути будут разрешены относительно каталога --cwd (если вы не хотите такого поведения, используйте абсолютные пути) |
flags.nodeFlags | Массив флагов, используемых для принудительного возрождения процесса при запуске. Например, если вы хотите, чтобы ваши файлы gulp всегда работали в режиме гармонии узла, вы можете установить здесь --harmony |
Флаги
Уgulp очень мало флагов, о которых нужно знать.Все остальные флаги используются задачами при необходимости.
Некоторые флаги работают только с gulp 4 и будут проигнорированы при вызове против gulp 3.
Флаг | Флажок короткий | Описание |
---|---|---|
— справка | -h | Показать эту справку. |
— версия | -v | Вывести глобальную и локальную версии gulp. |
—require [путь] | Перед запуском gulpfile потребуется модуль.Это полезно для транспилеров, но также имеет другие применения. | |
—gulpfile [путь] | -f | Путь к gulpfile, задаваемый вручную. Полезно, если у вас несколько файлов gulp. Это также установит CWD в каталог gulpfile. |
—cwd [путь] | Установите CWD вручную. Отсюда будет поиск gulpfile, а также относительность всего необходимого (включая флаг —require). | |
—verify [путь (необязательно)] | Проверит подключаемые модули, указанные в package.json проекта, по черному списку подключаемых модулей. | |
— задачи | -Т | Распечатайте дерево зависимостей задач для загруженного файла gulp. |
— простые задачи | Распечатать список задач в виде открытого текста для загруженного файла gulp. | |
—tasks-json [путь] | Распечатайте дерево зависимостей задач в формате JSON для загруженного файла gulp.Аргумент [путь] является необязательным, и если он указан, записывает JSON в путь. | |
— глубина задач [число] | Укажите глубину распечатываемого дерева зависимостей задач. Этот флаг можно использовать с —tasks или —tasks-json. (Этот флаг раньше назывался —depth, но устарел.) | |
— компактные | Уменьшите вывод дерева зависимостей задач, распечатав только главные задачи и их дочерние задачи.Этот флаг можно использовать с —tasks или —tasks-json. | |
—сортировка задач | Сортировка основных задач дерева зависимостей задач. Этот флаг можно использовать с —tasks. | |
— цвет | Заставит плагины gulp и gulp отображать цвета, даже если поддержка цвета не обнаружена. | |
— бесцветный | Заставит плагины gulp и gulp не отображать цвета, даже если обнаружена поддержка цвета. | |
— бесшумный | -S | Подавить регистрацию всех gulp. |
— продолжение | Продолжить выполнение задач после сбоя. | |
— серия | Выполнять задачи, указанные в интерфейсе командной строки, последовательно (по умолчанию — параллельно). | |
— уровень журнала | -L | Установите уровень логирования. -L для наименее подробного и -LLLL для наиболее подробного.-LLL по умолчанию. |
Лицензия
MIT
node.js — npm install —save-dev gulp-install
Я новичок в Node and Gulp. Я работал с ним раньше и хочу создать новый проект, но у меня возникли проблемы.
Я пытаюсь установить gulp в корень своего проекта. Но получите это в моей командной строке после запуска npm install --save-dev gulp-install
вместе с папкой node_modules с 136! папки / модули внутри.4.0.0 как можно скорее.
npm WARN saveError ENOENT: нет такого файла или каталога, откройте ‘E: \ XAMPP \ htdocs \ test \ package.json’
E: \ XAMPP \ htdocs \ test
`- [email protected]
+ — [email protected]
+ — [email protected]
| + — [email protected]
| + — [email protected]
| + — [email protected]
| | `- [email protected]
| + — [email protected]
| `- [email protected]
+ — устаревший@0.0.1
+ — [email protected]
| + — [email protected]
| + — [email protected]
| + — [email protected]
| + — [email protected]
| | + — get-stdin @ 4.0,1
| | `- [email protected]
| | + — [email protected]
| | | `- [email protected]
| | + — [email protected]
| | + — громкий[email protected]
| | | + — [email protected]
| | | `- [email protected]
| | + — [email protected]
| | + — [email protected]
| | | + — [email protected]
| | | + — [email protected]
| | | | `- [email protected]
| | | `- [email protected]
| | | + — [email protected]
| | | | `- spdx-license-ids @ 1.2.1
| | | `- [email protected]
| | | `- [email protected]
| | + — объект[email protected]
| | + — [email protected]
| | | + — [email protected]
| | | | + — [email protected]
| | | | `- [email protected]
| | | | `- [email protected]
| | | `- [email protected]
| | | + — [email protected]
| | | | + — [email protected]
| | | | + — [email protected]
| | | | | `- [email protected]
| | | | | `- [email protected]
| | | | + — pify @ 2.3.0
| | | | `- [email protected]
| | | `- [email protected]
| | + — [email protected]
| | | + — [email protected]
| | | | `- [email protected]
| | | | `- [email protected]
| | | | `- [email protected]
| | | `- [email protected]
| | `- [email protected]
| + — [email protected]
| | `- [email protected]
| + — [email protected]
| | `- [email protected]
| + — [email protected]
| | `- [email protected]
| + — [email protected]
| + — [email protected],0
| + — [email protected]
| + — [email protected]
| | + — [email protected]
| | + — [email protected]
| | + — [email protected]
| | + — [email protected]
| | + — [email protected]
| | | `- [email protected]
| | + — [email protected]
| | | + — [email protected]
| | | + — [email protected]
| | | `- [email protected]
| | + — [email protected]
| | `- [email protected]
| + — многотрубный @ 0.1.2
| | `- [email protected]
| | `- [email protected]
| + — объект[email protected]
| + — [email protected]
| + — [email protected]
| | + — читаемый[email protected]
| | | + — [email protected]
| | | + — наследуется@2.0.1
| | | + — [email protected]
| | | + — [email protected]
| | | + — [email protected]
| | | `- [email protected]
| | `- [email protected]
| `- винил@0.5.3
| + — [email protected]
| `- [email protected]
+ — интерпретировать@1.0.0
+ — [email protected]
| + — расширить @ 2.0,1
| + — [email protected]
| | `- [email protected]
| | + — [email protected]
| | + — [email protected]
| | `- путь[email protected]
| + — [email protected]
| + — [email protected]
| `- [email protected]
+ — [email protected]
+ — [email protected]
| + — [email protected]
| | `- [email protected]
| | `- [email protected]
| + — [email protected]
| `- [email protected]
+ — [email protected]
+ — [email protected]
+ — [email protected]
| `- [email protected]
+ — [email protected]
| `- user-home @ 1.1.1
`- винил[email protected]
+ — [email protected]
+ — [email protected]
| + — [email protected]
| + — [email protected]
| | `- [email protected]
| + — [email protected]
| | `- [email protected]
| | + — сбалансированный[email protected]
| | `- [email protected]
| + — [email protected]
| + — [email protected]
| | `- [email protected]
| `- [email protected]
+ — [email protected]
| `- [email protected]
| `- [email protected]
| + — glob @ 3.1,21
| | + — [email protected]
| | `- наследуется@1.0.2
| + — [email protected]
| `- [email protected]
| + — [email protected]
| `- [email protected]
+ — [email protected]
+ — [email protected]
| `- [email protected]
+ — [email protected]
| + — [email protected]
| `- [email protected]
+ — [email protected]
| `- [email protected]
| `- [email protected]
`- винил@0.4.6
`- [email protected] npm WARN enoent ENOENT: нет такого файла или каталога, откройте E: \ XAMPP \ htdocs \ test \ package.json ‘
npm WARN test Нет описания
npm WARN test Нет поля репозитория.
npm WARN test Нет данных README
npm WARN test Нет лицензионного поля.
Я переустановил Node.js до версии 4.4.3 и глобально установил gulp перед выполнением команды. Я стараюсь следовать этому руководству.
Папка моего проекта находится на диске E, на этом диске также установлен узел. (Мой загрузочный диск и программные файлы находятся на диске C). У меня Windows 10.
Надеюсь, кто-нибудь сможет помочь! Я с нетерпением жду возможности поработать с gulp, но вроде ничего не работает.
Инструменты для внешнего интерфейса | Lando
Большинство современных инструментов внешнего интерфейса полагаются на диспетчер пакетов NPM. В этом уроке мы покажем вам, как добавить Node в ваше приложение, загрузить такие инструменты, как Gulp / Grunt / Webpack, и запустить их в вашем приложении Lando.
Когда вы закончите, вы сможете распространять свое приложение Lando с полным набором инструментов внешнего интерфейса, которые стандартизированы для одинаковой работы на компьютерах каждого члена команды.
Добавить службу узла
Предполагая, что вы начинаете с «Lando-ized» приложения, откройте .Файл lando.yml
в корне каталога вашего приложения. В этом примере мы предполагаем, что вы используете очень простой рецепт LAMP.
Чтобы установить наш интерфейс, нам нужно иметь возможность запускать Node. К счастью, для нас очень легко добавить базовую службу Node в наше приложение:
Обратите внимание на раздел build
. Эта команда bash автоматически запускается, когда мы запускаем наше приложение, устанавливая любые пакеты Node, указанные в нашем файле package.json.
Добавление Grunt / Gulp / Etc.
Хотя теперь мы можем устанавливать пакеты Node для нашего проекта, нам все еще нужно иметь возможность устанавливать глобальные инструменты, такие как Grunt, Gulp или другие средства запуска задач, которые составляют основу наших инструментов внешнего интерфейса.К счастью, Ландо упрощает это с помощью globals
tag:
Вы можете сделать то же самое для любого проекта NPM; например Grunt будет grunt-cli: "последний"
. Это эквивалентно установке пакета с npm install -g имя-проекта
.
Обратите внимание, что теперь мы добавили еще одну команду в build
для автоматического запуска gulp
при каждом запуске приложения. Это, конечно, предполагает, что определена задача по умолчанию gulp
, иначе вы должны ожидать, что ваш шаг сборки завершится ошибкой.
Версии пакетов полностью вооружены и настраиваются
Вы можете заблокировать инструменты своего приложения для любой версии пакета, которая вам нравится. Не использовать узел: 6.10? Измените на одну из других доступных версий в служебной документации. И вы можете загрузить любую версию глобального сервиса, какую пожелаете. Например, если вы хотите привязать свою команду к чему-то более стабильному, чем последняя версия gulp-cli, измените эту запись в глобальных файлах
на gulp-cli: 1.3.0
.
Почти готово! Все наши службы установлены, но как запустить команду на лету, скажем, запустить задачу просмотра или запустить lando npm install hot-new-thing
, чтобы начать экспериментировать с новым пакетом? Мы могли бы подключиться к нашему контейнеру узлов по SSH, но это SO 2016.Вместо этого мы представим наш новый инструментарий через интерфейс командной строки, добавив этот раздел tooling
в наш файл .lando.yml
:
После перезапуска приложения вы сможете запустить lando node
, lando gulp
или lando npm
и запустить соответствующие команды. Это особенно полезно, если вы хотите запустить задачу наблюдения, которую вы, возможно, сконфигурировали, например, lando gulp watch
.
Хотите новое содержание руководства?
Зарегистрируйтесь, и мы пришлем вам самое последнее и лучшее!
- 6 минут на чтение
В этой статье
Вы можете использовать любой текстовый редактор для создания решений SharePoint Framework.Вы также можете использовать среду macOS, Windows или Linux.
Вы также можете выполнить следующие действия, просмотрев это видео на канале SharePoint PnP YouTube:
Важно
Следующие шаги предполагают, что вы создаете решения для SharePoint Online с использованием последней версии SharePoint Framework. Если вы создаете решения для SharePoint Server 2019 или SharePoint Server 2016, обратитесь к дополнительной документации, указанной в разделе См. Также ниже.
Установите Node.js
Установите последнюю версию Node.js LTS v14 .
В настоящее время эта версия является рекомендуемой версией Node.js для использования с SharePoint Framework (, если иное не указано ниже ).
Важно
Node.js часто обновляется и доступен на нескольких платформах, включая macOS, Windows и Linux. Поскольку точные ссылки для скачивания часто меняются, на этой странице нет ссылок на них. Вместо этого используйте приведенные ниже сведения, чтобы определить, какой установщик загрузить для вашей платформы.
Имейте в виду, что Node.js всегда поддерживает два разных выпуска: LTS и Текущая версия. SharePoint Framework поддерживается только в версиях LTS. Для получения дополнительной информации о выпусках долгосрочной поддержки (LTS) Node.js см .: Node.js> Выпуски.
Подсказка
Веб-сайт Node.js всегда рекомендует последнюю версию установщика как для LTS, так и для текущей версии. Чтобы загрузить определенные версии версий Node.js, используйте страницу Node.js> Загрузки> Предыдущие версии.
- Пользователи Windows могут использовать установщики * .msi для x86 или x64 в зависимости от вашей установки Windows. Обычно имеется только два доступных файла * .msi с именами, подобными node-v {номер-версии} -x [86 | 64] .msi . Пользователи MacOS
- могут использовать установщик * .pkg , который обычно называется node-v {номер-версии} .pkg .
Вы можете проверить, установлен ли у вас уже Node.js, включая установленную версию, выполнив следующую команду:
узел -v
SharePoint Framework v1.12.1 поддерживается в следующих версиях Node.js:
- Node.js v10.13.0 + ( Дубний )
- Node.js v12.13.0 + ( эрбий, )
- Node.js v14.15.0 + ( Фермий )
Осторожно
Если вы создаете компоненты SharePoint Framework для локальных развертываний SharePoint, обратитесь к дополнительным страницам, перечисленным в разделе См. Также для получения дополнительной информации.
Установить редактор кода
Для создания веб-части можно использовать любой редактор кода или среду IDE, поддерживающую разработку на стороне клиента, например:
В шагах и примерах в этой документации используется код Visual Studio, но вы можете использовать любой редактор по вашему выбору.
Набор инструментов для разработки и сборки SharePoint Framework использует различные популярные инструменты с открытым исходным кодом. Хотя большинство зависимостей включено в каждый проект, вам необходимо установить несколько зависимостей глобально на вашей рабочей станции.
Подсказка
Вы можете установить все три из следующих инструментов в одной строке:
npm установить gulp yo @ microsoft / generator-sharepoint --global
Установить Gulp
Gulp — это средство выполнения задач на основе JavaScript, используемое для автоматизации повторяющихся задач.Цепочка инструментов сборки SharePoint Framework использует задачи Gulp для сборки проектов, создания пакетов JavaScript, а полученные пакеты используются для развертывания решений.
Введите следующую команду для установки Gulp:
npm install gulp --global
Установите Yeoman
Yeoman помогает вам начать новые проекты и предлагает передовые методы и инструменты, которые помогут вам оставаться продуктивными. Инструменты разработки на стороне клиента SharePoint включают генератор Yeoman для создания новых веб-частей.Генератор предоставляет общие инструменты сборки, общий шаблонный код и общий веб-сайт для игр, на котором размещаются веб-части для тестирования.
Введите следующую команду для установки Yeoman:
npm install yo --global
Генератор веб-частей Yeoman SharePoint помогает быстро создать проект клиентского решения SharePoint с правильной цепочкой инструментов и структурой проекта.
Чтобы установить генератор Yeoman в SharePoint Framework глобально, введите следующую команду:
npm install @ microsoft / generator-sharepoint --global
Дополнительные сведения о генераторе Yeoman SharePoint см. В разделе Проекты шаблонов с использованием генератора Yeoman SharePoint.
Установите современный веб-браузер
Вы должны использовать современный веб-браузер, такой как Microsoft Edge, Google Chrome или Firefox, в качестве браузера для разработки. Локальная рабочая среда не поддерживает использование Internet Explorer 11.
Доверяя самозаверяющему сертификату разработчика
Локальный веб-сервер SharePoint Framework, используемый при тестировании пользовательских решений из среды разработки, по умолчанию использует HTTPS. Это реализовано с использованием самозаверяющего SSL-сертификата разработки.Самозаверяющие сертификаты SSL не пользуются доверием в вашей среде разработки. Сначала необходимо настроить среду разработки, чтобы доверять сертификату.
Служебная задача включается в каждый проект SharePoint Framework в виде задачи gulp. Вы можете сделать это сейчас или подождать, пока не создадите свой первый проект, как описано в руководстве Создание первой клиентской веб-части SharePoint (Hello World, часть 1).
После создания проекта с помощью генератора Yeoman для SharePoint Framework выполните следующую команду из корневой папки проекта.
глоток доверия-разработчика-сертификат
Примечание
Предполагается, что вы установили все зависимости с npm install
после создания проекта. На этом шаге все задачи gulp будут установлены как часть проекта.
Ниже приведены некоторые инструменты, которые также могут пригодиться:
Следующие шаги
Теперь вы готовы создать свою первую клиентскую веб-часть!
SPFx доступен в SharePoint Online (SPO), SharePoint Server 2019 и SharePoint Server 2016.Инструкции по настройке на этой странице предполагают, что вы создаете решения с использованием последней версии SPFx для SharePoint Online.
SharePoint Online содержит все версии SPFx, включая все предыдущие и последние версии. Каждое решение SPFx содержит информацию, указывающую SPO, от какой среды выполнения SPFx оно зависит.
Если вы создаете решения для локального развертывания SharePoint Server, ознакомьтесь с разделом См. Также, чтобы получить подробную информацию о конкретных версиях SharePoint. Каждая локальная версия SharePoint поддерживает только определенную версию SPFx.Это может вызвать сложные конфигурации среды разработки, если вы создаете разные решения для разных развертываний SharePoint.
В зависимости от вашего сценария вам может потребоваться поддерживать разные среды разработки. Разработчики использовали следующие подходы для решения этих проблем:
виртуальных машин
Докер
Диспетчер версий узла (NVM)
SharePoint Server 2016 использует SharePoint Framework (SPFx) v1.1.
SharePoint Server 2019 использует SharePoint Framework (SPFx) v1.4.1.
Поиск и устранение неисправностей
Проверить версию глобально установленных пакетов
Чтобы получить список всех глобально установленных пакетов, выполните следующую команду:
список npm --global --depth = 0️
Невозможно доверять самозаверяющему сертификату разработки
Если у вас возникли проблемы с доверием своему самозаверяющему сертификату при запуске gulp trust-dev-cert и вы убедились, что установлены правильные версии всех зависимостей, одно из решений, которое, как мы обычно видим, устраняет проблему, — это удалить все пакеты, установленные глобально, удалите Node.js, перезагрузитесь и начните снова.
В некоторых случаях выполнение команды gulp trust-dev-cert не дает желаемого эффекта доверия самозаверяющему сертификату разработки на вашем компьютере. В таких редких случаях, как эти, вам может потребоваться удалить скрытую папку, созданную в папке вашего профиля. Найдите и удалите папку /.gcb-serve-data , а затем снова попробуйте доверять самозаверяющему сертификату разработки.
Невозможно установить пакеты с NPM — корпоративные прокси
Если ваша среда разработки находится за корпоративным прокси-сервером, вам необходимо настроить NPM для использования этого прокси.Обратитесь к документам npm-config о том, как настроить среду разработки за корпоративным прокси … в частности, параметры proxy и http-proxy . Дополнительная информация: Как настроить Node.js и Npm за корпоративным веб-прокси
.См. Также
Сборка и установка — документация Bokeh 0.9.3
Проект Bokeh включает в себя два основных компонента: исходный код пакета Bokeh. код, написанный на Python, и клиентская библиотека BokehJS, написанная на CoffeeScript.Соответственно, проявление боке немного усложняется из-за тот факт, что BokehJS требует явного шага компиляции для рендеринга Исходный код CoffeeScript в развертываемый JavaScript.
По этой причине, чтобы разработать боке из проверки источника, вы должны сначала уметь собрать BokehJS.
Исходный код проекта Bokeh размещен на GitHub. Чтобы клонировать исходный репозиторий, введите следующую команду:
git clone https://github.com/bokeh/bokeh.git
Это создаст каталог bokeh
в вашем местоположении.Это боке
каталог называется «проверкой источника» на оставшуюся часть
этот документ.
Процесс сборки BokehJS обрабатывается Gulp, который, в свою очередь, зависит от
Node.js. Gulp используется для компиляции CoffeeScript и Less (CSS)
исходники (а также шаблоны Eco), и объединить эти ресурсы в
оптимизированы и уменьшены файлы bokeh.js
и bokeh.css
.
Установите npm и узел
Сначала установите Node.js и npm (менеджер пакетов узлов).Вы можете скачать и установить их напрямую или использовать conda, чтобы установить их с канала Bokeh на anaconda.org:
conda install -c bokeh nodejs
В качестве альтернативы в Ubuntu вы можете использовать apt-get
:
Установите Gulp и необходимые плагины
После того, как вы установили npm и Node.js, вы должны использовать их для установки
необходимые зависимости, прежде чем вы сможете собрать BokehJS.
Выполните следующую команду в подкаталоге bokehjs
:
Эта команда установит необходимые пакеты в node_modules
подкаталог (и укажите их как devDependencies
в пакете .json
).
Если bokehjs
не работает, проверьте, работаете ли вы в каталоге bokehjs
.
На этом этапе обычно можно использовать сценарий setup.py
на верхнем уровне.
проверки исходного кода для управления сборкой и установкой BokehJS как части
полная библиотека Bokeh (см. Настройка Python).
Однако, если вы хотите работать с источниками BokehJS или использовать BokehJS в качестве автономная библиотека, тогда вам нужно использовать Gulp для сборки библиотеки BokehJS как показано ниже.
Сборка BokehJS с помощью Gulp
Ниже приведены основные команды Gulp для разработки (выполняемые из
подкаталог bokehjs
). Чтобы запустить эти команды, вы можете либо
используйте bokehjs / node_modules / .bin / gulp
, установите Gulp глобально через нпм :
или установите gulp через conda (рекомендуется):
conda install -c javascript gulp
Для создания скомпилированных и оптимизированных библиотек BokehJS с исходными картами,
и разверните их в подкаталог build
:
Кроме того, gulp build
принимает аргумент --build-dir
для указания
где производить построенные ресурсы:
сборка глотка --build-dir = / home / bokeh / mybuilddir
Для того, чтобы Gulp автоматически отслеживал изменения и инициировать перекомпиляцию при изменении любого исходного файла:
Сборка Gulp автоматически сгенерирует исходные коды и связанный с ними исходный код. карты.Включив «сопоставление источников» в вашем браузере, вы сможете:
- отладка исходных файлов .coffeescript при использовании
js / bokeh.js
- отлаживает скомпилированный неминифицированный javascript при использовании
js / bokeh.min.js
- отлаживает исходные файлы .less при использовании
css / bokeh.css
илиcss / bokeh.min.css
в консоли разработчика.
После того, как у вас будет рабочая сборка BokehJS (которую вы можете проверить, выполнив
шаги, описанные в разделе Создание BokehJS), вы можете использовать
Настройка .py
скрипт на верхнем уровне проверки исходного кода для установки или
разработать полную библиотеку Bokeh из исходников.
Сценарий setup.py
имеет два основных режима работы: install
и разработка
.
Когда используется python setup.py install
, Bokeh будет установлено в вашем
локальный site-packages
каталог. В этом режиме любые изменения в питоне
исходный код не будет отображаться до тех пор, пока снова не будет запущен setup.py install
.
При использовании python setup.py develop
путь к файлу bokeh.pth
будет
записано в ваш каталог site-packages
, который указывает на bokeh
подкаталог вашей проверки исходного кода. Любые изменения в исходном коде Python
будут доступны сразу без каких-либо дополнительных действий.
В любом режиме вам будет предложено указать, как установить BokehJS, например:
установка python setup.py Bokeh включает библиотеку JavaScript (BokehJS), у которой есть собственный процесс сборки.Как бы вы хотели обрабатывать BokehJS: 1) соберите и установите свежий BokehJS 2) установите последний собранный BokehJS из bokeh / bokehjs / build Выбор?
Вы можете пропустить это приглашение, указав соответствующий параметр командной строки
в setup.py
:
Если у вас возникли проблемы с приведенными здесь шагами, свяжитесь с разработчиками (см. Контакты).
Зависимости
Если вы работаете в среде Conda, вам необходимо убедиться, что
у вас установлены требования Python.Вы можете установить их через conda install
или pip install
для пакетов, указанных в
Зависимости.
Зависимости тестирования включают следующие дополнительные библиотеки:
- красивый суп
- колорама
- pdiff
- бото
- нос
- макет
- покрытие
- веб-сокет-клиент
Чтобы быстро и легко убедиться, что ваша среда содержит все
необходимые зависимости для сборки как документации, так и версии для разработки
Bokeh, запустите devdeps .py
внутри каталога bokeh / scripts
.
Если какие-либо необходимые пакеты отсутствуют, вы получите следующий результат
------------------------------------------------- ----------------- Вам не хватает следующих зависимостей Dev: * красивый суп -------------------------------------------------- ---------------- Вам не хватает следующих зависимостей Документов: * сфинкс * sphinxcontrib-httpdomain
В противном случае вы должны увидеть это сообщение
------------------------------------------------- ----------------- Все зависимости Dev установлены! Готово! -------------------------------------------------- ---------------- Все зависимости Документов установлены! Готово!
Дополнительно devdeps.py
проверит, что bokehjs / node_modules
существует каталог, в котором установлены пакеты npm.
Если этот каталог не найден, он предоставит инструкции о том, как и где установить пакеты npm.
Windows Notes
Если вы создаете Bokeh на машине Windows в среде Conda с помощью setup.py установить
или setup.py разработать
, запустить bokeh-server
будет
не работает правильно. .Exe не будет доступен в Conda.
среда, что означает, что вы будете использовать версию, доступную в базовой
установить, если он доступен.Вместо этого вы можете убедиться, что используете версию
в среде, явно запустив скрипт python bokeh-server
в корне репозитория боке, как в следующем примере:
python bokeh-server - путь сценария \ к \.py
Процессы, описанные для результата построения и использования полного bokeh.js библиотека. Это можно считать «производственным» режимом. Также возможно
запустите код Bokeh в режиме, который требует .js
для обслуживания отдельных
Модули JavaScript отдельно. Если это будет сделано, то изменится на BokehJS.
может быть скомпилирован постепенно (например, запустив gulp watch
в bokehjs
directory), а цикл итераций разработки сокращен
значительно.
Для статических примеров вы можете использовать переменную окружения BOKEH_RESOURCES
чтобы указать, что BokehJS следует загружать из отдельных источников:
BOKEH_RESOURCES = пример Python для relative-dev.ру
Для примеров серверов Bokeh просто добавьте флаг командной строки --dev
в
вызов сервера:
боке-сервер --dev python example-server.py
gulp-cli 2.3.0 на npm — Libraries.io
Утилита командной строкидля Gulp
Установить
npm install --global gulp-cli
Использование
> gulp [флаги] <задача> <задача> ...
Пользовательские метаданные
При выводе списка задач с помощью команды gulp -T
gulp-cli отображает некоторые настраиваемые метаданные, определенные для функций задач.Поддерживаемые в настоящее время свойства:
-
task.description
— строка описания для отображения.
function clean () {...} clean.description = 'Удаляет сгенерированные файлы.';
-
task.flags
— Объект с парами ключ / значение, являющимися флагом / описанием для отображения.
function build () {...} build.flags = { '--prod': 'Строится в производственном режиме.' };
Пример использования:
функция build () {...} build.description = 'Собрать весь проект.'; build.flags = { '--prod': 'Строит в производственном режиме (минификация и т. д.).' }; // глоток 3.x gulp.task ('построить', построить); // глоток 4.x gulp.task (сборка);
Задачи
Задачи, перечисленные в командной строке, будут выполнены. Если указано более одной задачи, Gulp выполнит их все. одновременно, то есть, как если бы все они были перечислены как зависимости единственная задача.
По умолчанию Gulp не сериализует задачи, перечисленные в командной строке.Если вы хотите выполнять задачи последовательно, необходимо указать флаг --series
. например gulp clean build - серия
Просто запущенный gulp
выполнит задачу по умолчанию
. Если нет по умолчанию
задача, gulp выдаст ошибку.
Завершение
Спасибо команде grunt, особенно Тайлеру Келлену
Чтобы включить автозаполнение задач в оболочке, вы должны добавить eval "$ (gulp --completion = shell)"
в свой .shellrc
файл.
Баш:
Добавьте eval "$ (gulp --completion = bash)"
в ~ / .bashrc
.
ЗШ:
Добавьте eval "$ (gulp --completion = zsh)"
в ~ / .zshrc
.
Powershell:
Добавить Invoke-Expression ((gulp --completion = powershell) -join [System.Environment] :: NewLine)
в $ PROFILE
.
Рыба:
Добавить глоток --completion = fish | источник с
по ~ /.конфиг / рыба / config.fish
.
Компиляторы
Список поддерживаемых языков можно найти на https://github.com/js-cli/js-interpret. Если вы хотите добавить поддержку нового языка, отправьте запросы на вытягивание / открытые задачи по этому проекту.
Окружающая среда
CLI добавляет process.env.INIT_CWD, который является исходным cwd, из которого он был запущен.
Конфигурация
Конфигурация поддерживается за счет использования файла .gulp. *
(e.грамм. .gulp.json
, .gulp.yml
). Вы можете найти список поддерживаемых языков на https://github.com/js-cli/js-interpret.
Конфигурация из домашнего каталога ( ~
) и текущего рабочего каталога ( cwd
) объединяется с cwd
, имеющими приоритет.
Свойства поддерживаемых конфигураций:
Имущество | Описание |
---|---|
описание | Описание верхнего уровня проекта / gulpfile (Заменяет «Задачи для ~ / path / of / gulpfile.js «) |
флаги. Продолжение | По умолчанию продолжить выполнение задач после сбоя. |
flags.compactTasks | Уменьшить вывод дерева зависимостей задач по умолчанию. |
flags.tasksDepth | Установить глубину дерева зависимостей задач по умолчанию. |
flags.gulpfile | Установить gulpfile по умолчанию |
флаги. Молчание | По умолчанию ведение журнала без звука |
флагов.серия | Выполнять задачи, указанные в интерфейсе командной строки, последовательно (по умолчанию — параллельно) |
флаги.требовать | Массив модулей, требуемых перед запуском gulpfile. Любые относительные пути будут разрешены относительно каталога --cwd (если вы не хотите такого поведения, используйте абсолютные пути) |
flags.nodeFlags | Массив флагов, используемых для принудительного возрождения процесса при запуске. Например, если вы хотите, чтобы ваши файлы gulp всегда работали в режиме гармонии узла, вы можете установить здесь --harmony |
Флаги
Уgulp очень мало флагов, о которых нужно знать.Все остальные флаги используются задачами при необходимости.
Некоторые флаги работают только с gulp 4 и будут проигнорированы при вызове против gulp 3.
Флаг | Флажок короткий | Описание |
---|---|---|
— справка | -h | Показать эту справку. |
— версия | -v | Вывести глобальную и локальную версии gulp. |
—require [путь] | Перед запуском gulpfile потребуется модуль.Это полезно для транспилеров, но также имеет другие применения. | |
—gulpfile [путь] | -f | Путь к gulpfile, задаваемый вручную. Полезно, если у вас несколько файлов gulp. Это также установит CWD в каталог gulpfile. |
—cwd [путь] | Установите CWD вручную. Отсюда будет поиск gulpfile, а также относительность всего необходимого (включая флаг —require). | |
—verify [путь (необязательно)] | Проверит подключаемые модули, указанные в package.json проекта, по черному списку подключаемых модулей. | |
— задачи | -Т | Распечатайте дерево зависимостей задач для загруженного файла gulp. |
— простые задачи | Распечатать список задач в виде открытого текста для загруженного файла gulp. | |
—tasks-json [путь] | Распечатайте дерево зависимостей задач в формате JSON для загруженного файла gulp.Аргумент [путь] является необязательным, и если он указан, записывает JSON в путь. | |
— глубина задач [число] | Укажите глубину распечатываемого дерева зависимостей задач. Этот флаг можно использовать с —tasks или —tasks-json. (Этот флаг раньше назывался —depth, но устарел.) | |
— компактные | Уменьшите вывод дерева зависимостей задач, распечатав только главные задачи и их дочерние задачи.Этот флаг можно использовать с —tasks или —tasks-json. | |
—сортировка задач | Сортировка основных задач дерева зависимостей задач. Этот флаг можно использовать с —tasks. | |
— цвет | Заставит плагины gulp и gulp отображать цвета, даже если поддержка цвета не обнаружена. | |
— бесцветный | Заставит плагины gulp и gulp не отображать цвета, даже если обнаружена поддержка цвета. | |
— бесшумный | -S | Подавить регистрацию всех gulp. |
— продолжение | Продолжить выполнение задач после сбоя. | |
— серия | Выполнять задачи, указанные в интерфейсе командной строки, последовательно (по умолчанию — параллельно). | |
— уровень журнала | -L | Установите уровень логирования. -L для наименее подробного и -LLLL для наиболее подробного.-LLL по умолчанию. |
Лицензия
MIT
Учебное пособие: Node 12 LTS + Gulp 4 + VS2019 | Тристрам Толлидей
Как сдирать штукатурку. Болезненно, но выпадение стоит того.
Этот учебник проведет вас через обновление вашего проекта для использования последних версий Node, Gulp и Visual Studio 2019. Я буду говорить о них вместе, так как это общий рецепт, и после нескольких часов кровавого пота и stackoverflow / gitrepo ищет, вы можете поучиться на моей боли.
Следуя этому руководству, вы сможете запустить свой проект в Task Runner Explorer в Visual Studio 2019. Поехали.
Предупреждение: если вы находитесь в середине спринта, возможно, сейчас не самое подходящее время для обновления. вам понадобится хороший час, чтобы убедиться, что все работает без сбоев, и у вас будет время для исправления ошибок.
Ура Ура, с недавним объявлением NodeJs о том, что Node 12 выходит на LTS, стоит вернуться к устаревшим проектам. Долгосрочная поддержка по сути означает, что эта версия Node будет получать исправления ошибок и безопасности в течение длительного времени.В случае версии 12 будет безопасно использовать до апреля 2022 года , то есть обновление до него будет всем, что вам нужно будет делать еще два с небольшим года.
Текущая версия WindowsЕсли вы запускаете свои проекты на узле 10, у вас хватит сил еще на год, поэтому не спешите обновлять, особенно если вы используете более старые пакеты, подверженные конфликтам.
Однако, если вы используете узел 8 или ниже 😬, вам придется выполнить обновление до Нового года 2019, чтобы обеспечить безопасность вашего проекта.
Узел 13 тоже не работает.Почему бы вместо этого не обновить его?
Нечетные номера версий узлов — это экспериментальные ветки, которые не получат долгосрочной поддержки. Если вы хотите поработать с новейшим узлом, который может предложить, непременно запустите свой проект на узле 13 (хотя, безусловно, рассмотрите возможность nvm). Если вы запускаете производственный проект для клиента или компании, придерживайтесь выпусков LTS.
Установка узла 12
Выберите вариант установки:
A) Стандартная установка (без nvm) просто загрузите и установите
B) Установка nvm при условии, что вы уже используете nvm (инструкции по установке в ссылке, если нет ), добавление узла 12 по-прежнему остается простым процессом:
nvm list availablefull release list available
в строке долгосрочной поддержки, помните последнюю версию 12, поэтому в приведенном выше примере это ReferenceError: primordials is not defined Gulp 3 имеет зависимости, с которыми узел 12 не может справиться. 4.0.2 12.
Если вы хотите использовать Gulp 4 с проводником диспетчера задач в Visual Studio 2019, вам нужно будет также установить его глобально с npm install [email protected] -g
Если вы этого не сделаете Visual studio 2019 не сможет обнаружить gulp и не покажет задачи как доступные.
Как только мы с этим закончим, нам нужно обновить наши зависимости gulp, это совершенно другая игра с мячом. Каждой зависимости предстоит пройти свой ад, но быстрая проверка интернета поможет вам с конкретными модулями.
Однако … вот два, которые доставили мне наибольшее горе:
Какими бы хорошими ни были SASS и Gulp, я не могу придумать ни одной новой установки для gulp-sass / node-sass, которая прошла бы гладко. Сохраняйте хладнокровие во время этого процесса, и в конце концов у вас все получится. Лучший совет, который я могу дать:
1. Создайте ядерный каталог node_modules. Удалите, удалите, протрите. Если его след существует, он будет преследовать вас и потерпит неудачу.
2. Замените на новую версию в вашем пакете .4.0.2
, который удобно совпадает с версией Gulp, которую вы используете, и я предполагаю, что подключен к ней.
3. Если вы по-прежнему получаете ошибки, убедитесь, что вы запускаете gulp с консоли с правами администратора.
4. Внимательно прочтите ошибки, это может выглядеть как небольшая стена текста, но будет ключ к пониманию того, чего не хватает в сообщении.
gulp-msbuild
Это немного странная зависимость, которая действительно применима только к проектам, использующим специальные фреймворки, такие как.NET, поэтому большинство людей могут его пропустить. Однако, если вы используете gulp-msbuild
, у меня есть один простой совет: удалите его и замените на msbuild
. Это гораздо более удачный и чистый пакет, он имеет больше смысла и, кажется, меньше терпит неудачу.
Со всем этим добавленным в package.json вы сможете запустить npm install
. Если все прошло успешно, у вас не должно быть ошибок и, что еще лучше, у вас не должно быть уязвимостей.
Принимая во внимание приведенный выше совет, вы должны быть хорошими помощниками, базовая миграция не так уж сложна, поскольку это скорее синтаксический сдвиг, чем полное переписывание.Если у вас возникают проблемы с конкретным плагином gulp, обычно вам нужно заменить его более современным плагином gulp. gulp-util
заменен отдельными плагинами, поэтому просто следите за консолью при запуске gulp, и она скажет вам, что нужно исправить.
Пример обновления
Он немного более подробный, но в целом кажется более аккуратным и современным. В Gulp 4 есть отличная документация по этому процессу и различные способы, которыми вы можете сообщить Gulp, когда ваша задача выполнена.
Все в порядке, теперь вы должны иметь возможность открыть Visual Studio 2019 и увидеть, как успешно работает исполнитель задач:
Вот почему мы это сделали.Иногда самые неблагодарные задачи оказываются самыми трудными, но ради удобства обслуживания, безопасности и прогресса они приносят наибольшее удовлетворение. Теперь идите вперед, товарищ Node 12er… и создавайте инновационные вещи.
npm Пакет Vunerabilities
Если у вас есть уязвимости, запуск исправления аудита npm
должен устранить подавляющее большинство из них.Все остальное, что уязвимо, потребует некоторой ручной настройки, обычно обновляя пакеты или заменяя их более современными эквивалентами. Вы можете найти эти неправильные пакеты с помощью npm audit
, а затем проследить до проблемных пакетов.
Visual Studio 2019 Task Runner Explorer
Для работы Task Runner Explorer с Gulp необходимо правильно настроить несколько вещей:
- У вас должен быть файл с именем
gulpfile.js
в корне вашего проекта. . - У вас должен быть
package.json
с зависимостями или devDependencies - Gulp необходимо установить глобально и локально (как указано в вашем
package.json
) - Любые модули, упомянутые в вашем файле gulp, должны быть в вашем
package.