bem-site / bem-method

BEM — a methodology how to develop web projects applicable for any technology
http://bem.info
605 stars 176 forks source link

Feedback for "Создаем свой проект на БЭМ" #360

Closed 3ABAPKA closed 8 years ago

3ABAPKA commented 8 years ago

Пробую выполнить пример "Создаем свой проект на БЭМ", столкнулся с проблемой. Как исправить,- не понимаю. Прошу подсказать...

Error: Cannot find module 'enb-stylus/techs/css-stylus' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:289:25) at Module.require (module.js:366:17) at require (module.js:385:17) ...

tadatuta commented 8 years ago

Подозреваю, что на шаге по установке зависимостей (npm install) произошла какая-то ошибка и часть зависимостей не установилась?

Можно попробовать выполнить

rm -rf node_modules
npm install

Если вновь воспроизведется, добавьте к описанию ошибки шаг, на котором она случается, и полный вывод команды npm install после удаления папки node_modules.

3ABAPKA commented 8 years ago
  1. Запустил от имени администратора "Git Bash";
  2. выполнил: $ cd test-project;
  3. в проекте выполнил: rm -rf node_modules, результатом стало удаление папки node_modules;
  4. в проекте выполнил: npm install результат
npm WARN deprecated enb-diverse-js@0.1.0: Use 'enb-js' instead.
npm WARN deprecated lodash@2.2.1: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0
npm WARN engine puml-link@0.0.1: wanted: {"node":"0.10"} (current: {"node":"5.1.0","npm":"3.3.12"})

в папке проекта появился каталог node_modules;

  1. проект перестал собираться $ node_modules/.bin/enb server не выполнялась
  2. удалил каталог node_modules;
  3. в проекте запустил npm install = результат
npm WARN deprecated enb-diverse-js@0.1.0: Use 'enb-js' instead.
npm WARN deprecated lodash@2.2.1: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0
npm WARN engine puml-link@0.0.1: wanted: {"node":"0.10"} (current: {"node":"5.1.0","npm":"3.3.12"})
> bem-project-stub@1.3.1 postinstall C:\Users\Ejik\test-project
> npm run deps
> bem-project-stub@1.3.1 deps C:\Users\Ejik\test-project
> bower i
bower j#695d479fbdd7c97e61bd89953ef095e2e567e70e           cached git://github.com/innabelaya/j.git#695d479fbd
bower j#695d479fbdd7c97e61bd89953ef095e2e567e70e         validate 695d479fbd against git://github.com/innabelaya/j.git#695d479fbdd7c97e61bd89953ef095e2e567e70e
bower bem-components#2.0.0                                 cached git://github.com/bem/bem-components.git#2.0.0
bower bem-components#2.0.0                               validate 2.0.0 against git://github.com/bem/bem-components.git#2.0.0
bower bem-core#2.5.1                                       cached git://github.com/bem/bem-core.git#2.5.1
bower bem-core#2.5.1                                     validate 2.5.1 against git://github.com/bem/bem-core.git#2.5.1
bower                                                   ECONFLICT Unable to find suitable version for bem-core
npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "deps"
npm ERR! node v5.1.0
npm ERR! npm  v3.3.12
npm ERR! code ELIFECYCLE
npm ERR! bem-project-stub@1.3.1 deps: 'bower i'
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bem-project-stub@1.3.1 deps script 'bower i'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the bem-project-stub package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     bower i
npm ERR! You can get their info via:
npm ERR!     npm owner ls bem-project-stub
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Ejik\test-project\npm-debug.log
npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v5.1.0
npm ERR! npm  v3.3.12
npm ERR! code ELIFECYCLE
npm ERR! bem-project-stub@1.3.1 postinstall: 'npm run deps'
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bem-project-stub@1.3.1 postinstall script 'npm run deps'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the bem-project-stub package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run deps
npm ERR! You can get their info via:
npm ERR!     npm owner ls bem-project-stub
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Ejik\test-project\npm-debug.log

*8. в проекте выполнил сборку $ node_modules/.bin/enb make выдал результат:

Error: Cannot find module 'enb-stylus/techs/css-stylus'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:289:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (C:\Users\Ejik\test-project\.enb\make.js:10:20)
    at Module._compile (module.js:425:26)
    at Object.Module._extensions..js (module.js:432:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
tadatuta commented 8 years ago

Судя по логам, используется какая-то устаревшая версия bower.json, хотя версия самого project-stub 1.3.1. Это странно, но предлагаю попробовать чистовую установку в git bash от администратора такой командой:

git clone https://github.com/bem/project-stub.git pr-stub-test && cd pr-stub-test && npm i && enb make

Результат должен выглядеть приблизительно так:

Cloning into 'pr-stub-test'...
remote: Counting objects: 1506, done.
remote: Total 1506 (delta 0), reused 0 (delta 0), pack-reused 1506
Receiving objects: 100% (1506/1506), 2.53 MiB | 1.43 MiB/s, done.
Resolving deltas: 100% (598/598), done.
Checking connectivity... done
npm WARN peerDependencies The peer dependency borschik@>=1.0.5 included from borschik-tech-cleancss will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
WARN engine puml-link@0.0.1: wanted: {"node":"0.10"} (current: {"node":"4.0.0","npm":"2.14.11"})
npm WARN deprecated lodash@2.2.1: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0
|
> bem-project-stub@1.3.2 postinstall /Users/tadatuta/qqq/pr-stub-test
> npm run deps

> bem-project-stub@1.3.2 deps /Users/tadatuta/qqq/pr-stub-test
> bower i

bower bem-components#2.4.0      cached git://github.com/bem/bem-components.git#2.4.0
bower bem-components#2.4.0    validate 2.4.0 against git://github.com/bem/bem-components.git#2.4.0
bower bem-core#2.8.0            cached git://github.com/bem/bem-core.git#2.8.0
bower bem-core#2.8.0          validate 2.8.0 against git://github.com/bem/bem-core.git#2.8.0
bower bem-components#2.4.0     install bem-components#2.4.0
bower bem-core#2.8.0           install bem-core#2.8.0

bem-components#2.4.0 libs/bem-components
└── bem-core#2.8.0

bem-core#2.8.0 libs/bem-core
enb-borschik@2.2.0 node_modules/enb-borschik
├── inherit@2.2.2
├── vow@0.4.11
└── borschik@1.5.0 (inherit@2.2.1, vow@0.4.8, minimatch@0.2.14, coa@0.4.0, vow-fs@0.3.4, csso@1.4.2, uglify-js@2.4.24)

borschik@1.5.0 node_modules/borschik
├── inherit@2.2.1
├── vow@0.4.8
├── minimatch@0.2.14 (sigmund@1.0.1, lru-cache@2.7.3)
├── coa@0.4.0 (q@0.9.7)
├── vow-fs@0.3.4 (vow-queue@0.4.2, node-uuid@1.4.7, glob@4.5.3)
├── csso@1.4.2 (clap@1.0.9)
└── uglify-js@2.4.24 (uglify-to-browserify@1.0.2, async@0.2.10, yargs@3.5.4, source-map@0.1.34)

borschik-tech-cleancss@2.1.0 node_modules/borschik-tech-cleancss
└── clean-css@3.4.8 (commander@2.8.1, source-map@0.4.4)

enb@1.1.0 node_modules/enb
├── stack-trace@0.0.9
├── inherit@2.2.2
├── enb-async-require@1.0.1
├── enb-require-or-eval@1.0.2
├── vow@0.4.11
├── puml-link@0.0.1
├── vow-node@0.3.0
├── clear-require@1.0.1 (resolve-from@1.0.1, caller-path@0.1.0)
├── serve-favicon@2.3.0 (fresh@0.3.0, ms@0.7.1, etag@1.7.0, parseurl@1.3.0)
├── commander@2.9.0 (graceful-readlink@1.0.1)
├── chalk@1.1.1 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, strip-ansi@3.0.0, has-ansi@2.0.0)
├── worker-farm@1.3.1 (xtend@4.0.1, errno@0.1.4)
├── serve-static@1.10.0 (escape-html@1.0.2, parseurl@1.3.0, send@0.13.0)
├── connect@3.4.0 (utils-merge@1.0.0, parseurl@1.3.0, debug@2.2.0, finalhandler@0.4.0)
├── glob@5.0.15 (path-is-absolute@1.0.0, inherits@2.0.1, once@1.3.3, inflight@1.0.4, minimatch@3.0.0)
├── enb-source-map@1.8.0 (atob@1.1.2, btoa@1.1.2, source-map@0.4.4)
├── vow-fs@0.3.4 (vow-queue@0.4.2, node-uuid@1.4.7, glob@4.5.3)
└── lodash@3.10.1

enb-js@1.1.0 node_modules/enb-js
├── vow@0.4.10
├── ym@0.1.2
├── vow-node@0.3.0
├── enb-source-map@1.8.0 (atob@1.1.2, btoa@1.1.2, source-map@0.4.4)
├── uglify-js@2.4.24 (uglify-to-browserify@1.0.2, async@0.2.10, yargs@3.5.4, source-map@0.1.34)
└── browserify@11.1.0 (https-browserify@0.0.1, tty-browserify@0.0.0, htmlescape@1.1.0, builtins@0.0.7, constants-browserify@0.0.1, path-browserify@0.0.0, os-browserify@0.1.2, inherits@2.0.1, browser-resolve@1.11.0, commondir@0.0.1, string_decoder@0.10.31, process@0.11.2, isarray@0.0.1, shell-quote@0.0.1, stream-browserify@2.0.1, defined@1.0.0, punycode@1.3.2, domain-browser@1.1.4, xtend@4.0.1, querystring-es3@0.2.1, assert@1.3.0, timers-browserify@1.4.1, deps-sort@1.3.9, util@0.10.3, events@1.0.2, parents@1.0.1, has@1.0.1, vm-browserify@0.0.4, console-browserify@1.1.0, url@0.10.3, subarg@1.0.0, readable-stream@2.0.4, stream-http@1.7.1, resolve@1.1.6, concat-stream@1.4.10, duplexer2@0.0.2, read-only-stream@1.1.1, through2@1.1.1, buffer@3.5.4, shasum@1.0.2, glob@4.5.3, labeled-stream-splicer@1.0.2, browser-pack@5.0.1, JSONStream@1.0.7, syntax-error@1.1.4, crypto-browserify@3.11.0, browserify-zlib@0.1.4, insert-module-globals@6.6.3, module-deps@3.9.1)

enb-bem-techs@2.1.0 node_modules/enb-bem-techs
├── inherit@2.2.2
├── enb-async-require@1.0.0
├── bem-naming@0.5.1
├── vow@0.4.11
├── clear-require@1.0.1 (resolve-from@1.0.1, caller-path@0.1.0)
├── enb-require-or-eval@1.0.1 (vow-fs@0.3.4)
└── js-yaml@3.4.2 (esprima@2.2.0, argparse@1.0.3)

enb-bemxjst@2.1.1 node_modules/enb-bemxjst
├── enb-async-require@1.0.1
├── vow@0.4.10
├── vow-node@0.3.0
├── clear-require@1.0.1 (resolve-from@1.0.1, caller-path@0.1.0)
├── enb-require-or-eval@1.0.2 (vow-fs@0.3.4)
├── bem-xjst@1.2.1 (estraverse@1.5.1, q@0.9.7, coa@0.3.9, esprima@1.1.1, uglify-js@2.3.6, xjst@1.7.0)
├── bemhtml-compat@0.1.2 (esprima@1.0.4, xjst@0.4.26, ometajs@3.2.4)
└── browserify@11.0.1 (https-browserify@0.0.1, htmlescape@1.1.0, tty-browserify@0.0.0, builtins@0.0.7, constants-browserify@0.0.1, path-browserify@0.0.0, os-browserify@0.1.2, isarray@0.0.1, inherits@2.0.1, commondir@0.0.1, browser-resolve@1.11.0, string_decoder@0.10.31, process@0.11.2, shell-quote@0.0.1, stream-browserify@2.0.1, defined@1.0.0, punycode@1.3.2, domain-browser@1.1.4, xtend@4.0.1, querystring-es3@0.2.1, assert@1.3.0, timers-browserify@1.4.1, deps-sort@1.3.9, util@0.10.3, parents@1.0.1, has@1.0.1, vm-browserify@0.0.4, events@1.0.2, console-browserify@1.1.0, subarg@1.0.0, shasum@1.0.2, url@0.10.3, readable-stream@2.0.4, stream-http@1.7.1, concat-stream@1.4.10, through2@1.1.1, duplexer2@0.0.2, read-only-stream@1.1.1, buffer@3.5.4, glob@4.5.3, resolve@1.1.6, labeled-stream-splicer@1.0.2, browser-pack@5.0.1, JSONStream@1.0.7, syntax-error@1.1.4, crypto-browserify@3.11.0, insert-module-globals@6.6.3, browserify-zlib@0.1.4, module-deps@3.9.1)

enb-stylus@2.2.0 node_modules/enb-stylus
├── vow@0.4.10
├── es6-promise@3.0.2
├── postcss-import@7.1.0 (object-assign@4.0.1, postcss-message-helpers@2.0.0, clone@1.0.2, resolve@1.1.6, glob@5.0.15)
├── csswring@4.0.0 (onecolor@2.5.0, minimist@1.2.0, fs-extra@0.18.4)
├── postcss@5.0.10 (js-base64@2.1.9, supports-color@3.1.2, source-map@0.5.3)
├── stylus@0.52.0 (css-parse@1.7.0, debug@2.2.0, mkdirp@0.5.1, source-map@0.1.43, glob@3.2.11, sax@0.5.8)
├── nib@1.1.0 (stylus@0.49.3)
├── postcss-url@5.0.2 (path-is-absolute@1.0.0, mime@1.3.4, js-base64@2.1.9, mkdirp@0.5.1, directory-encoder@0.7.2)
└── autoprefixer@6.0.3 (num2fraction@1.2.2, browserslist@1.0.1, caniuse-db@1.0.30000374)

bem@0.10.2 node_modules/bem
├── reqf@1.0.0
├── inherit@1.0.4
├── colors@0.6.2
├── mime@1.2.11
├── q@0.9.7
├── benchmark@1.0.0
├── cli-table@0.3.1 (colors@1.0.3)
├── dom-js@0.0.9 (sax@1.1.4)
├── mkdirp@0.5.1 (minimist@0.0.8)
├── coa@1.0.1 (q@1.4.1)
├── node.extend@1.0.10 (is@0.3.0)
├── apw@0.3.14 (coa@0.4.1)
├── qq@0.3.5 (q@0.8.4)
├── lodash@2.2.1
├── winston@2.1.0 (cycle@1.0.3, stack-trace@0.0.9, eyes@0.1.8, isstream@0.1.2, pkginfo@0.3.1, async@1.0.0, colors@1.0.3)
├── borschik-tech-cleancss@2.0.1 (clean-css@3.0.10)
├── q-io@1.10.9 (mimeparse@0.1.4, url2@0.0.0, qs@0.1.0, collections@0.2.2)
└── borschik@1.3.2 (inherit@2.2.1, vow@0.3.13, coa@0.4.0, minimatch@0.2.14, vow-fs@0.3.2, uglify-js@2.4.15, csso@1.3.11)

bower@1.7.0 node_modules/bower
22:31:07.326 - build started
22:31:07.342 - [rebuild] [desktop.bundles/index/index.bemjson.js] file-provider
22:31:07.416 - [rebuild] [desktop.bundles/index/index.levels] levels
22:31:07.417 - [rebuild] [desktop.bundles/index/index.bemdecl.js] bemjson-to-bemdecl
22:31:07.497 - [rebuild] [desktop.bundles/index/index.deps.js] deps
22:31:07.508 - [rebuild] [desktop.bundles/index/index.files] files
22:31:07.508 - [rebuild] [desktop.bundles/index/index.dirs] files
22:31:08.198 - [rebuild] [desktop.bundles/index/index.bemhtml.bemdecl.js] deps-by-tech-to-bemdecl
22:31:08.299 - [rebuild] [desktop.bundles/index/index.bemhtml.deps.js] deps
22:31:08.300 - [rebuild] [desktop.bundles/index/index.css] stylus
22:31:08.300 - [rebuild] [desktop.bundles/index/index.bemhtml.files] files
22:31:08.300 - [rebuild] [desktop.bundles/index/index.bemhtml.dirs] files
22:31:08.305 - [rebuild] [desktop.bundles/index/index.browser.js] browser-js
22:31:08.349 - [rebuild] [desktop.bundles/index/index.browser.bemhtml.js] bemhtml
22:31:08.356 - [rebuild] [desktop.bundles/index/index.js] file-merge
22:31:08.690 - [rebuild] [desktop.bundles/index/index.min.js] borschik
22:31:08.725 - [rebuild] [desktop.bundles/index/index.min.css] borschik
22:31:09.193 - [rebuild] [desktop.bundles/index/index.bemhtml.js] bemhtml
22:31:09.230 - [rebuild] [desktop.bundles/index/index.html] bemjson-to-html
22:31:09.232 - build finished - 3042ms
3ABAPKA commented 8 years ago
  1. выполнил рекомендации , на первый взгляд всё заработало, результат
$ git clone https://github.com/bem/project-stub.git pr-stub-test && cd pr-stub-test && npm i && enb make
Cloning into 'pr-stub-test'...
remote: Counting objects: 1506, done.
remote: Total 1506 (delta 0), reused 0 (delta 0), pack-reused 1506
Receiving objects: 100% (1506/1506), 2.53 MiB | 797.00 KiB/s, done.
Resolving deltas: 100% (598/598), done.
Checking connectivity... done.
npm WARN engine puml-link@0.0.1: wanted: {"node":"0.10"} (current: {"node":"5.1.0","npm":"3.3.12"})
npm WARN deprecated lodash@2.2.1: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.

> bem-project-stub@1.3.2 postinstall C:\Users\Ejik\pr-stub-test
> npm run deps

> bem-project-stub@1.3.2 deps C:\Users\Ejik\pr-stub-test
> bower i

bower bem-components#2.4.0  not-cached git://github.com/bem/bem-components.git#2.4.0
bower bem-components#2.4.0     resolve git://github.com/bem/bem-components.git#2.4.0
bower bem-components#2.4.0    download https://github.com/bem/bem-components/archive/v2.4.0.tar.gz
bower bem-components#2.4.0     extract archive.tar.gz
bower bem-components#2.4.0     invalid-meta bem-components is missing "main" entry in bower.json
bower bem-components#2.4.0         resolved git://github.com/bem/bem-components.git#2.4.0
bower bem-core#2.8.0             not-cached git://github.com/bem/bem-core.git#2.8.0
bower bem-core#2.8.0                resolve git://github.com/bem/bem-core.git#2.8.0
bower bem-core#2.8.0               download https://github.com/bem/bem-core/archive/v2.8.0.tar.gz
bower bem-core#2.8.0                extract archive.tar.gz
bower bem-core#2.8.0           invalid-meta bem-core is missing "main" entry in bower.json
bower bem-core#2.8.0               resolved git://github.com/bem/bem-core.git#2.8.0
bower bem-components#2.4.0          install bem-components#2.4.0
bower bem-core#2.8.0                install bem-core#2.8.0

bem-components#2.4.0 libs\bem-components
└── bem-core#2.8.0

bem-core#2.8.0 libs\bem-core
bem-project-stub@1.3.2 C:\Users\Ejik\pr-stub-test
├─┬ bem@0.10.2
│ ├─┬ apw@0.3.14
│ │ └── coa@0.4.1
│ ├── benchmark@1.0.0
│ ├─┬ borschik@1.3.2
│ │ ├── coa@0.4.0
│ │ ├── csso@1.3.11
│ │ ├── inherit@2.2.1
│ │ ├─┬ minimatch@0.2.14
│ │ │ ├── lru-cache@2.7.0
│ │ │ └── sigmund@1.0.1
│ │ ├─┬ uglify-js@2.4.15
│ │ │ ├── async@0.2.10
│ │ │ ├─┬ optimist@0.3.7
│ │ │ │ └── wordwrap@0.0.3
│ │ │ ├─┬ source-map@0.1.34
│ │ │ │ └── amdefine@1.0.0
│ │ │ └── uglify-to-browserify@1.0.2
│ │ ├── vow@0.3.13
│ │ └─┬ vow-fs@0.3.2
│ │   ├─┬ glob@3.2.8
│ │   │ └── inherits@2.0.1
│ │   ├── node-uuid@1.4.0
│ │   ├── vow@0.4.4
│ │   └── vow-queue@0.3.1
│ ├─┬ borschik-tech-cleancss@2.0.1
│ │ └─┬ clean-css@3.0.10
│ │   ├── commander@2.5.1
│ │   └─┬ source-map@0.1.43
│ │     └── amdefine@1.0.0
│ ├─┬ cli-table@0.3.1
│ │ └── colors@1.0.3
│ ├─┬ coa@1.0.1
│ │ └── q@1.4.1
│ ├── colors@0.6.2
│ ├─┬ dom-js@0.0.9
│ │ └── sax@1.1.4
│ ├─┬ enb@1.1.0
│ │ ├─┬ chalk@1.1.1
│ │ │ ├── ansi-styles@2.1.0
│ │ │ ├── escape-string-regexp@1.0.3
│ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ └── ansi-regex@2.0.0
│ │ │ ├─┬ strip-ansi@3.0.0
│ │ │ │ └── ansi-regex@2.0.0
│ │ │ └── supports-color@2.0.0
│ │ ├─┬ clear-require@1.0.1
│ │ │ ├─┬ caller-path@0.1.0
│ │ │ │ └── callsites@0.2.0
│ │ │ └── resolve-from@1.0.1
│ │ ├─┬ commander@2.9.0
│ │ │ └── graceful-readlink@1.0.1
│ │ ├─┬ connect@3.4.0
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ ├─┬ finalhandler@0.4.0
│ │ │ │ ├── escape-html@1.0.2
│ │ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ │ └── ee-first@1.1.1
│ │ │ │ └── unpipe@1.0.0
│ │ │ ├── parseurl@1.3.0
│ │ │ └── utils-merge@1.0.0
│ │ ├── enb-async-require@1.0.1
│ │ ├── enb-require-or-eval@1.0.2
│ │ ├─┬ enb-source-map@1.8.0
│ │ │ ├── atob@1.1.2
│ │ │ ├── btoa@1.1.2
│ │ │ └─┬ source-map@0.4.4
│ │ │   └── amdefine@1.0.0
│ │ ├─┬ glob@5.0.15
│ │ │ ├─┬ inflight@1.0.4
│ │ │ │ └── wrappy@1.0.1
│ │ │ ├── inherits@2.0.1
│ │ │ ├─┬ minimatch@3.0.0
│ │ │ │ └─┬ brace-expansion@1.1.1
│ │ │ │   ├── balanced-match@0.2.1
│ │ │ │   └── concat-map@0.0.1
│ │ │ ├─┬ once@1.3.2
│ │ │ │ └── wrappy@1.0.1
│ │ │ └── path-is-absolute@1.0.0
│ │ ├── inherit@2.2.2
│ │ ├── lodash@3.10.1
│ │ ├── puml-link@0.0.1
│ │ ├─┬ serve-favicon@2.3.0
│ │ │ ├── etag@1.7.0
│ │ │ ├── fresh@0.3.0
│ │ │ ├── ms@0.7.1
│ │ │ └── parseurl@1.3.0
│ │ ├─┬ serve-static@1.10.0
│ │ │ ├── escape-html@1.0.2
│ │ │ ├── parseurl@1.3.0
│ │ │ └─┬ send@0.13.0
│ │ │   ├── debug@2.2.0
│ │ │   ├── depd@1.0.1
│ │ │   ├── destroy@1.0.3
│ │ │   ├── etag@1.7.0
│ │ │   ├── fresh@0.3.0
│ │ │   ├─┬ http-errors@1.3.1
│ │ │   │ └── inherits@2.0.1
│ │ │   ├── mime@1.3.4
│ │ │   ├── ms@0.7.1
│ │ │   ├─┬ on-finished@2.3.0
│ │ │   │ └── ee-first@1.1.1
│ │ │   ├── range-parser@1.0.3
│ │ │   └── statuses@1.2.1
│ │ ├── stack-trace@0.0.9
│ │ ├── vow@0.4.11
│ │ ├─┬ vow-fs@0.3.4
│ │ │ ├─┬ glob@4.5.3
│ │ │ │ ├─┬ inflight@1.0.4
│ │ │ │ │ └── wrappy@1.0.1
│ │ │ │ ├── inherits@2.0.1
│ │ │ │ ├─┬ minimatch@2.0.10
│ │ │ │ │ └─┬ brace-expansion@1.1.1
│ │ │ │ │   ├── balanced-match@0.2.1
│ │ │ │ │   └── concat-map@0.0.1
│ │ │ │ └─┬ once@1.3.2
│ │ │ │   └── wrappy@1.0.1
│ │ │ ├── node-uuid@1.4.7
│ │ │ └── vow-queue@0.4.2
│ │ ├── vow-node@0.3.0
│ │ └─┬ worker-farm@1.3.1
│ │   ├─┬ errno@0.1.4
│ │   │ └── prr@0.0.0
│ │   └── xtend@4.0.1
│ ├── inherit@1.0.4
│ ├── lodash@2.2.1
│ ├── mime@1.2.11
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├─┬ node.extend@1.0.10
│ │ └── is@0.3.0
│ ├── q@0.9.7
│ ├─┬ q-io@1.10.9
│ │ ├─┬ collections@0.2.2
│ │ │ └── weak-map@1.0.0
│ │ ├── mimeparse@0.1.4
│ │ ├── qs@0.1.0
│ │ └── url2@0.0.0
│ ├─┬ qq@0.3.5
│ │ └── q@0.8.4
│ ├── reqf@1.0.0
│ └─┬ winston@2.1.0
│   ├── async@1.0.0
│   ├── colors@1.0.3
│   ├── cycle@1.0.3
│   ├── eyes@0.1.8
│   ├── isstream@0.1.2
│   ├── pkginfo@0.3.1
│   └── stack-trace@0.0.9
├─┬ borschik-tech-cleancss@2.1.0
│ └─┬ clean-css@3.4.8
│   └── commander@2.8.1
├─┬ bower@1.7.0
│ ├─┬ bower-config@1.3.0
│ │ ├── graceful-fs@4.1.2
│ │ └─┬ optimist@0.6.1
│ │   └── wordwrap@0.0.3
│ ├─┬ bower-registry-client@1.0.0
│ │ ├── async@0.2.10
│ │ ├── graceful-fs@4.1.2
│ │ └── mkdirp@0.3.5
│ ├─┬ cardinal@0.4.4
│ │ └─┬ redeyed@0.4.4
│ │   └── esprima@1.0.4
│ ├─┬ chalk@1.1.1
│ │ ├── ansi-styles@2.1.0
│ │ ├── escape-string-regexp@1.0.3
│ │ ├─┬ has-ansi@2.0.0
│ │ │ └── ansi-regex@2.0.0
│ │ ├─┬ strip-ansi@3.0.0
│ │ │ └── ansi-regex@2.0.0
│ │ └── supports-color@2.0.0
│ ├─┬ configstore@0.3.2
│ │ └─┬ js-yaml@3.4.6
│ │   ├─┬ argparse@1.0.3
│ │   │ ├── lodash@3.10.1
│ │   │ └── sprintf-js@1.0.3
│ │   └── inherit@2.2.2
│ ├─┬ decompress-zip@0.1.0
│ │ └─┬ readable-stream@1.1.13
│ │   ├── core-util-is@1.0.2
│ │   ├── inherits@2.0.1
│ │   ├── isarray@0.0.1
│ │   └── string_decoder@0.10.31
│ ├── destroy@1.0.3
│ ├─┬ fs-write-stream-atomic@1.0.5
│ │ └── graceful-fs@4.1.2
│ ├─┬ fstream@1.0.8
│ │ ├── graceful-fs@4.1.2
│ │ └── inherits@2.0.1
│ ├─┬ fstream-ignore@1.0.3
│ │ ├── inherits@2.0.1
│ │ └─┬ minimatch@3.0.0
│ │   └─┬ brace-expansion@1.1.2
│ │     ├── balanced-match@0.3.0
│ │     └── concat-map@0.0.1
│ ├─┬ github@0.2.4
│ │ └── mime@1.3.4
│ ├─┬ glob@4.5.3
│ │ ├─┬ inflight@1.0.4
│ │ │ └── wrappy@1.0.1
│ │ ├── inherits@2.0.1
│ │ ├─┬ minimatch@2.0.10
│ │ │ └─┬ brace-expansion@1.1.2
│ │ │   ├── balanced-match@0.3.0
│ │ │   └── concat-map@0.0.1
│ │ └─┬ once@1.3.3
│ │   └── wrappy@1.0.1
│ ├── graceful-fs@3.0.8
│ ├─┬ handlebars@2.0.0
│ │ ├─┬ optimist@0.3.7
│ │ │ └── wordwrap@0.0.3
│ │ └─┬ uglify-js@2.3.6
│ │   ├── async@0.2.10
│ │   └─┬ source-map@0.1.43
│ │     └── amdefine@1.0.0
│ ├─┬ inquirer@0.10.0
│ │ ├── ansi-regex@2.0.0
│ │ ├── lodash@3.10.1
│ │ ├─┬ run-async@0.1.0
│ │ │ └─┬ once@1.3.3
│ │ │   └── wrappy@1.0.1
│ │ ├── strip-ansi@3.0.0
│ │ └── through@2.3.8
│ ├─┬ insight@0.7.0
│ │ ├─┬ configstore@1.3.0
│ │ │ └── graceful-fs@4.1.2
│ │ ├── object-assign@4.0.1
│ │ └─┬ os-name@1.0.3
│ │   └─┬ osx-release@1.1.0
│ │     └── minimist@1.2.0
│ ├── lru-cache@2.7.3
│ ├─┬ mkdirp@0.5.0
│ │ └── minimist@0.0.8
│ ├─┬ p-throttler@0.1.1
│ │ └── q@0.9.7
│ ├── q@1.4.1
│ ├─┬ request@2.53.0
│ │ ├─┬ bl@0.9.4
│ │ │ └─┬ readable-stream@1.0.33
│ │ │   ├── core-util-is@1.0.2
│ │ │   ├── inherits@2.0.1
│ │ │   ├── isarray@0.0.1
│ │ │   └── string_decoder@0.10.31
│ │ ├── isstream@0.1.2
│ │ └── node-uuid@1.4.7
│ ├─┬ rimraf@2.4.4
│ │ └─┬ glob@5.0.15
│ │   ├─┬ inflight@1.0.4
│ │   │ └── wrappy@1.0.1
│ │   ├── inherits@2.0.1
│ │   ├─┬ minimatch@3.0.0
│ │   │ └─┬ brace-expansion@1.1.2
│ │   │   ├── balanced-match@0.3.0
│ │   │   └── concat-map@0.0.1
│ │   ├─┬ once@1.3.3
│ │   │ └── wrappy@1.0.1
│ │   └── path-is-absolute@1.0.0
│ ├─┬ shell-quote@1.4.3
│ │ └── jsonify@0.0.0
│ ├─┬ tar-fs@1.8.1
│ │ ├─┬ pump@1.0.1
│ │ │ └─┬ once@1.3.3
│ │ │   └── wrappy@1.0.1
│ │ └─┬ tar-stream@1.3.1
│ │   ├─┬ end-of-stream@1.1.0
│ │   │ └─┬ once@1.3.3
│ │   │   └── wrappy@1.0.1
│ │   ├─┬ readable-stream@2.0.4
│ │   │ ├── core-util-is@1.0.2
│ │   │ ├── inherits@2.0.1
│ │   │ ├── isarray@0.0.1
│ │   │ ├── process-nextick-args@1.0.6
│ │   │ ├── string_decoder@0.10.31
│ │   │ └── util-deprecate@1.0.2
│ │   └── xtend@4.0.1
│ └─┬ update-notifier@0.3.2
│   ├─┬ latest-version@1.0.1
│   │ └─┬ package-json@1.2.0
│   │   ├─┬ got@3.3.1
│   │   │ ├─┬ duplexify@3.4.2
│   │   │ │ ├─┬ end-of-stream@1.0.0
│   │   │ │ │ └─┬ once@1.3.3
│   │   │ │ │   └── wrappy@1.0.1
│   │   │ │ └─┬ readable-stream@2.0.4
│   │   │ │   ├── core-util-is@1.0.2
│   │   │ │   ├── inherits@2.0.1
│   │   │ │   ├── isarray@0.0.1
│   │   │ │   ├── process-nextick-args@1.0.6
│   │   │ │   ├── string_decoder@0.10.31
│   │   │ │   └── util-deprecate@1.0.2
│   │   │ ├─┬ nested-error-stacks@1.0.2
│   │   │ │ └── inherits@2.0.1
│   │   │ └─┬ read-all-stream@3.0.1
│   │   │   └─┬ readable-stream@2.0.4
│   │   │     ├── core-util-is@1.0.2
│   │   │     ├── inherits@2.0.1
│   │   │     ├── isarray@0.0.1
│   │   │     ├── process-nextick-args@1.0.6
│   │   │     ├── string_decoder@0.10.31
│   │   │     └── util-deprecate@1.0.2
│   │   └─┬ registry-url@3.0.3
│   │     └─┬ rc@1.1.5
│   │       └── minimist@1.2.0
│   └─┬ string-length@1.0.1
│     └─┬ strip-ansi@3.0.0
│       └── ansi-regex@2.0.0
├─┬ enb@1.1.0
│ ├─┬ chalk@1.1.1
│ │ ├── ansi-styles@2.1.0
│ │ ├── escape-string-regexp@1.0.3
│ │ ├─┬ has-ansi@2.0.0
│ │ │ └── ansi-regex@2.0.0
│ │ ├── strip-ansi@3.0.0
│ │ └── supports-color@2.0.0
│ ├─┬ clear-require@1.0.1
│ │ ├─┬ caller-path@0.1.0
│ │ │ └── callsites@0.2.0
│ │ └── resolve-from@1.0.1
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ ├─┬ connect@3.4.0
│ │ ├── debug@2.2.0
│ │ ├─┬ finalhandler@0.4.0
│ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1
│ │ │ └── unpipe@1.0.0
│ │ ├── parseurl@1.3.0
│ │ └── utils-merge@1.0.0
│ ├── enb-async-require@1.0.1
│ ├── enb-require-or-eval@1.0.2
│ ├─┬ enb-source-map@1.8.0
│ │ ├── atob@1.1.2
│ │ ├── btoa@1.1.2
│ │ └─┬ source-map@0.4.4
│ │   └── amdefine@1.0.0
│ ├─┬ glob@5.0.15
│ │ ├─┬ inflight@1.0.4
│ │ │ └── wrappy@1.0.1
│ │ ├── inherits@2.0.1
│ │ ├─┬ minimatch@2.0.10
│ │ │ └─┬ brace-expansion@1.1.2
│ │ │   ├── balanced-match@0.3.0
│ │ │   └── concat-map@0.0.1
│ │ ├── once@1.3.3
│ │ └── path-is-absolute@1.0.0
│ ├── inherit@2.2.2
│ ├── lodash@3.10.1
│ ├── puml-link@0.0.1
│ ├─┬ serve-favicon@2.3.0
│ │ ├── etag@1.7.0
│ │ ├── fresh@0.3.0
│ │ └── ms@0.7.1
│ ├─┬ serve-static@1.10.0
│ │ ├── escape-html@1.0.2
│ │ └─┬ send@0.13.0
│ │   ├── depd@1.0.1
│ │   ├── destroy@1.0.3
│ │   ├── http-errors@1.3.1
│ │   ├── range-parser@1.0.3
│ │   └── statuses@1.2.1
│ ├── stack-trace@0.0.9
│ ├── vow@0.4.11
│ ├─┬ vow-fs@0.3.4
│ │ ├── glob@4.5.3
│ │ ├── node-uuid@1.4.7
│ │ └── vow-queue@0.4.2
│ ├── vow-node@0.3.0
│ └─┬ worker-farm@1.3.1
│   ├─┬ errno@0.1.4
│   │ └── prr@0.0.0
│   └── xtend@4.0.1
├─┬ enb-bem-techs@2.1.0
│ ├── bem-naming@0.5.1
│ ├── enb-async-require@1.0.0
│ ├── enb-require-or-eval@1.0.1
│ └─┬ js-yaml@3.4.2
│   ├─┬ argparse@1.0.3
│   │ └── sprintf-js@1.0.3
│   └── esprima@2.2.0
├─┬ enb-bemxjst@2.1.1
│ ├─┬ bem-xjst@1.2.1
│ │ ├─┬ coa@0.3.9
│ │ │ └── q@0.8.12
│ │ ├── esprima@1.1.1
│ │ ├── estraverse@1.5.1
│ │ ├── q@0.9.7
│ │ ├─┬ uglify-js@2.3.6
│ │ │ ├─┬ optimist@0.3.7
│ │ │ │ └── wordwrap@0.0.3
│ │ │ └── source-map@0.1.43
│ │ └─┬ xjst@1.7.0
│ │   ├── coa@0.4.1
│ │   ├── esprima@1.1.1
│ │   └─┬ uglify-js@2.4.24
│ │     └── source-map@0.1.34
│ ├─┬ bemhtml-compat@0.1.2
│ │ ├── esprima@1.0.4
│ │ ├─┬ ometajs@3.2.4
│ │ │ ├── q@0.8.12
│ │ │ └── uglify-js@1.3.5
│ │ └─┬ xjst@0.4.26
│ │   ├── ometajs@3.3.8
│ │   ├── q@0.8.12
│ │   ├─┬ spoon@0.1.10
│ │   │ ├─┬ escodegen@0.0.28
│ │   │ │ ├── esprima@1.0.4
│ │   │ │ └── estraverse@1.3.2
│ │   │ ├── esprima@1.0.4
│ │   │ └── estraverse@0.0.4
│ │   └── uglify-js@1.3.5
│ ├─┬ browserify@11.0.1
│ │ ├── assert@1.3.0
│ │ ├─┬ browser-pack@5.0.1
│ │ │ ├─┬ combine-source-map@0.6.1
│ │ │ │ ├── convert-source-map@1.1.2
│ │ │ │ ├── inline-source-map@0.5.0
│ │ │ │ └── lodash.memoize@3.0.4
│ │ │ └── umd@3.0.1
│ │ ├── browser-resolve@1.11.0
│ │ ├─┬ browserify-zlib@0.1.4
│ │ │ └── pako@0.2.8
│ │ ├─┬ buffer@3.5.4
│ │ │ ├── base64-js@0.0.8
│ │ │ └── ieee754@1.1.6
│ │ ├── builtins@0.0.7
│ │ ├── commondir@0.0.1
│ │ ├─┬ concat-stream@1.4.10
│ │ │ ├── readable-stream@1.1.13
│ │ │ └── typedarray@0.0.6
│ │ ├─┬ console-browserify@1.1.0
│ │ │ └── date-now@0.1.4
│ │ ├── constants-browserify@0.0.1
│ │ ├─┬ crypto-browserify@3.11.0
│ │ │ ├─┬ browserify-cipher@1.0.0
│ │ │ │ ├─┬ browserify-aes@1.0.5
│ │ │ │ │ └── buffer-xor@1.0.3
│ │ │ │ ├─┬ browserify-des@1.0.0
│ │ │ │ │ └─┬ des.js@1.0.0
│ │ │ │ │   └── minimalistic-assert@1.0.0
│ │ │ │ └── evp_bytestokey@1.0.0
│ │ │ ├─┬ browserify-sign@4.0.0
│ │ │ │ ├── bn.js@4.5.0
│ │ │ │ ├── browserify-rsa@4.0.0
│ │ │ │ ├─┬ elliptic@6.0.2
│ │ │ │ │ ├── brorand@1.0.5
│ │ │ │ │ └── hash.js@1.0.3
│ │ │ │ └─┬ parse-asn1@5.0.0
│ │ │ │   └── asn1.js@4.2.1
│ │ │ ├── create-ecdh@4.0.0
│ │ │ ├─┬ create-hash@1.1.2
│ │ │ │ ├── cipher-base@1.0.2
│ │ │ │ └── ripemd160@1.0.1
│ │ │ ├── create-hmac@1.1.4
│ │ │ ├─┬ diffie-hellman@5.0.0
│ │ │ │ └── miller-rabin@4.0.0
│ │ │ ├── pbkdf2@3.0.4
│ │ │ ├── public-encrypt@4.0.0
│ │ │ └── randombytes@2.0.1
│ │ ├── defined@1.0.0
│ │ ├── deps-sort@1.3.9
│ │ ├── domain-browser@1.1.4
│ │ ├─┬ duplexer2@0.0.2
│ │ │ └── readable-stream@1.1.13
│ │ ├── events@1.0.2
│ │ ├── glob@4.5.3
│ │ ├─┬ has@1.0.1
│ │ │ └── function-bind@1.0.2
│ │ ├── htmlescape@1.1.0
│ │ ├── https-browserify@0.0.1
│ │ ├─┬ insert-module-globals@6.6.3
│ │ │ ├── is-buffer@1.1.0
│ │ │ └─┬ lexical-scope@1.2.0
│ │ │   └── astw@2.0.0
│ │ ├── isarray@0.0.1
│ │ ├─┬ JSONStream@1.0.7
│ │ │ ├── jsonparse@1.2.0
│ │ │ └── through@2.3.8
│ │ ├─┬ labeled-stream-splicer@1.0.2
│ │ │ └─┬ stream-splicer@1.3.2
│ │ │   └── readable-stream@1.1.13
│ │ ├─┬ module-deps@3.9.1
│ │ │ ├── detective@4.3.1
│ │ │ ├── readable-stream@1.1.13
│ │ │ └─┬ stream-combiner2@1.0.2
│ │ │   └─┬ through2@0.5.1
│ │ │     ├── readable-stream@1.0.33
│ │ │     └── xtend@3.0.0
│ │ ├── os-browserify@0.1.2
│ │ ├─┬ parents@1.0.1
│ │ │ └── path-platform@0.11.15
│ │ ├── path-browserify@0.0.0
│ │ ├── process@0.11.2
│ │ ├── punycode@1.3.2
│ │ ├── querystring-es3@0.2.1
│ │ ├─┬ read-only-stream@1.1.1
│ │ │ ├── readable-stream@1.1.13
│ │ │ └─┬ readable-wrap@1.0.0
│ │ │   └── readable-stream@1.1.13
│ │ ├─┬ readable-stream@2.0.4
│ │ │ ├── core-util-is@1.0.2
│ │ │ ├── process-nextick-args@1.0.6
│ │ │ └── util-deprecate@1.0.2
│ │ ├── resolve@1.1.6
│ │ ├─┬ shasum@1.0.2
│ │ │ ├─┬ json-stable-stringify@0.0.1
│ │ │ │ └── jsonify@0.0.0
│ │ │ └── sha.js@2.4.4
│ │ ├── shell-quote@0.0.1
│ │ ├── stream-browserify@2.0.1
│ │ ├─┬ stream-http@1.7.1
│ │ │ ├── builtin-status-codes@1.0.0
│ │ │ ├── foreach@2.0.5
│ │ │ ├── indexof@0.0.1
│ │ │ └── object-keys@1.0.9
│ │ ├── string_decoder@0.10.31
│ │ ├── subarg@1.0.0
│ │ ├─┬ syntax-error@1.1.4
│ │ │ └── acorn@1.2.2
│ │ ├─┬ through2@1.1.1
│ │ │ └── readable-stream@1.1.13
│ │ ├── timers-browserify@1.4.2
│ │ ├── tty-browserify@0.0.0
│ │ ├─┬ url@0.10.3
│ │ │ └── querystring@0.2.0
│ │ ├── util@0.10.3
│ │ └── vm-browserify@0.0.4
│ └── vow@0.4.10
├─┬ enb-borschik@2.2.0
│ └─┬ borschik@1.5.0
│   ├── coa@0.4.0
│   ├─┬ csso@1.4.2
│   │ └── clap@1.0.9
│   ├── inherit@2.2.1
│   ├─┬ minimatch@0.2.14
│   │ ├── lru-cache@2.7.3
│   │ └── sigmund@1.0.1
│   ├─┬ uglify-js@2.4.24
│   │ └── source-map@0.1.34
│   └── vow@0.4.8
├─┬ enb-js@1.1.0
│ ├─┬ browserify@11.1.0
│ │ └── glob@4.5.3
│ ├─┬ uglify-js@2.4.24
│ │ ├── async@0.2.10
│ │ ├── source-map@0.1.34
│ │ ├── uglify-to-browserify@1.0.2
│ │ └─┬ yargs@3.5.4
│ │   ├── camelcase@1.2.1
│ │   ├── decamelize@1.1.1
│ │   ├── window-size@0.1.0
│ │   └── wordwrap@0.0.2
│ ├── vow@0.4.10
│ └── ym@0.1.2
└─┬ enb-stylus@2.2.0
  ├─┬ autoprefixer@6.0.3
  │ ├── browserslist@1.0.1
  │ ├── caniuse-db@1.0.30000375
  │ └── num2fraction@1.2.2
  ├─┬ csswring@4.0.0
  │ ├─┬ fs-extra@0.18.4
  │ │ ├── graceful-fs@3.0.8
  │ │ ├── jsonfile@2.2.3
  │ │ └── rimraf@2.4.4
  │ ├── minimist@1.2.0
  │ └── onecolor@2.5.0
  ├── es6-promise@3.0.2
  ├─┬ nib@1.1.0
  │ └─┬ stylus@0.49.3
  │   ├─┬ glob@3.2.11
  │   │ └── minimatch@0.3.0
  │   ├── mkdirp@0.3.5
  │   └── source-map@0.1.43
  ├─┬ postcss@5.0.10
  │ ├── js-base64@2.1.9
  │ ├── source-map@0.5.3
  │ └─┬ supports-color@3.1.2
  │   └── has-flag@1.0.0
  ├─┬ postcss-import@7.1.0
  │ ├── clone@1.0.2
  │ ├── object-assign@4.0.1
  │ └── postcss-message-helpers@2.0.0
  ├─┬ postcss-url@5.0.2
  │ ├─┬ directory-encoder@0.7.2
  │ │ ├─┬ fs-extra@0.23.1
  │ │ │ └── graceful-fs@4.1.2
  │ │ ├── handlebars@1.3.0
  │ │ └─┬ img-stats@0.5.2
  │ │   └── xmldom@0.1.19
  │ ├── mime@1.3.4
  │ └─┬ mkdirp@0.5.1
  │   └── minimist@0.0.8
  ├─┬ stylus@0.52.0
  │ ├── css-parse@1.7.0
  │ ├─┬ glob@3.2.11
  │ │ └── minimatch@0.3.0
  │ ├─┬ mkdirp@0.5.1
  │ │ └── minimist@0.0.8
  │ ├── sax@0.5.8
  │ └── source-map@0.1.43
  └── vow@0.4.10

bash: enb: command not found
  1. проект собрался, сервер запустился...
  2. из примера-проекта https://ru.bem.info/tutorials/start-with-project-stub/ скопировал всё, что требовалось в pr-stub-test - всё продолжает работать
  3. Пытаюсь выполнить https://ru.bem.info/tutorials/start-with-project-stub/#Подключение-библиотек простым копи-пастом.
    ./node_modules/.bin/bower-npm-install - в git bash = не выполняется, реакции не видно ...
  4. В .enb/make.js заменяю код на код из примера https://gist.github.com/innabelaya/182b0b4f9ac33c3ac91a перезагружаю сервер->запускаю сервер снова

получаю ту же ошибку

Error: Cannot find module 'enb-stylus/techs/css-stylus'
   at Function.Module._resolveFilename (module.js:338:15)
   at Function.Module._load (module.js:289:25)
   at Module.require (module.js:366:17)
   at require (module.js:385:17)
   at Object.<anonymous> (C:\Users\Ejik\pr-stub-test\.enb\make.js:10:20)
   at Module._compile (module.js:425:26)
   at Object.Module._extensions..js (module.js:432:10)
   at Module.load (module.js:356:32)
   at Function.Module._load (module.js:313:12)
   at Module.require (module.js:366:17)

Предполагаю, что совсем делаю что-то не то. В связи с этим вопрос = есть ли ещё проще и ещё доступнее примеры?

tadatuta commented 8 years ago

Извиняюсь за долгий ответ. Я обновил как projct-stub, так и статью (пока только на github, на bem.info она обновится чуть позже): https://github.com/bem/bem-method/commit/0558151bd9f5c4925aea59ef393546f93ff39ac0

Надеюсь, теперь все будет хорошо.

3ABAPKA commented 8 years ago

Дважды выполнил требования статьи. Всё получилось. Даже шапка сворачивается. Трудности, конечно были. чтоб всё работало и для того чтоб увидеть результат пришлось закоментировать нужную строку в файле index.bemjson.js, а именно:

    head: [
        { elem: 'meta', attrs: { name: 'description', content: '' }},
        { elem: 'css', url: 'index.min.css' }//,
      //  { elem: 'css', url: 'index.min.ie.css', ie: 'IE' }
    ],

иначе получаю такое сообщение:

RangeError: Maximum call stack size exceeded
   at applyCtxWrap (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:347:18)
   at ContextChild.block.elem.def.match.url (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:1860:16)
   at Match.tryCatch (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:1229:15)
   at Match.exec (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:1279:16)
   at Entity.run (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:254:21)
   at BEMHTML.runOne (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:667:17)
   at BEMHTML._run (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:536:16)
   at BEMHTML.runMany (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:584:19)
   at BEMHTML._run (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:532:16)
   at ContextChild.applyCtx (J:\it-ejik\im_git\Первый_самостоятельнй_проект\desktop.bundles\index\index.bemhtml.js:341:17)

Самостоятельно решить проблему переполнения стека не вышло...

Огромное спасибо за уделенное время!!!

Если не трудно ответьте на вопросы:

  1. Где почитать о том как переносить проект на хост, или вообще работать не на локальном сервере..?
  2. Как создавать свои библиотеки (типо библиотеки "j" из примера) и где их хранить?
  3. Чтобы создавать что-то своё необходимо использовать все файлы из "проектов-примеров" типо = "test-project"?
  4. Может быть есть статьи по интеграции всего этого в популярные CMS?
innabelaya commented 8 years ago

@3ABAPKA Спасибо! Исправили gist-файлы index.bemjson.js. Теперь в нем нет строки { elem: 'css', url: 'index.min.ie.css', ie: 'IE' }

    head: [
        { elem: 'meta', attrs: { name: 'description', content: '' }},
        { elem: 'css', url: 'index.min.css' }
    ],
3ABAPKA commented 8 years ago

@innabelaya, наверное, не стоило их совсем убирать, думается правильными было б сделать так, что б с ними работалось?

Там ещё вот такое различие есть: в 259 строчке примера есть ссылка [Пример кода](https://gist.github.com/tadatuta/4b4175f7eaa0a8113365) index.bemjson.js. в ней начало кода выглядит так:

module.exports = {
    block : 'page',
    title : 'Title of the page',
    favicon : '/favicon.ico',

а в 445 строке примера этот же момент выглядит так:

({
    block: 'page',
    title: 'Title of the page',
    favicon: '/favicon.ico',

не понятно что и куда делось и за что отвечает module.exports = {

innabelaya commented 8 years ago

наверное, не стоило их совсем убирать, думается правильными было б сделать так, что б с ними работалось?

Мы полностью выпилили описание работы с IE из статьи. Так что нужно либо добавить комментарий в коде, либо в FAQ вынести вопрос про то, как подключать стили для IE. Добавлять комментарий в код без всякой подводки про это в самом тексте статьи не очень хорошо, можно просто его не заметить. И по поиску не найдешь такую информацию. @tadatuta Вова, что думаешь по этому поводу?

3ABAPKA commented 8 years ago

Извините, что влез....)))) Тогда надо всё про IE вырезать в примере под названием "Создаем свой проект на БЭМ"

Так как мы планируем поддерживать Internet Explorer, необходимо указать использование ie.css технологии в файле .bem/make.js (пример) и подключить необходимые стили в index.bemjson.js

Первоначально я там учился, только когда ничего не получилось - сюда пришел.

innabelaya commented 8 years ago

@3ABAPKA статья скоро обновится и на сайте)

3ABAPKA commented 8 years ago

:ru:

Пожалуйста, хоть как-нить на эти вопросы ответьте...

  1. Где почитать о том как переносить проект на хост, или вообще работать не на локальном сервере..?
  2. Как создавать свои библиотеки (типо библиотеки "j" из примера) и где их хранить?
  3. Чтобы создавать что-то своё необходимо использовать все файлы из "проектов-примеров" типо = "test-project"?
  4. Может быть есть статьи по интеграции всего этого в популярные CMS?

:sos::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark::heavy_exclamation_mark:

tadatuta commented 8 years ago

@3ABAPKA

Где почитать о том как переносить проект на хост, или вообще работать не на локальном сервере..? Может быть есть статьи по интеграции всего этого в популярные CMS?

Если речь идет о project-stub и проектах на его основе, то перенос готовой верстки на хост или интеграция в CMS ничем не отличается от переноса или интеграции сверстанных в блокноте index.html + index.css + index.js (каждый bemjson-файл при запуске enb make или enb server продуцирует такой набор готовых файлов в папке desktop.bundles/имя-бандла/*). Дальше можно хоть по FTP их заливать в продакшен :)

Но нужно понимать, что если при верстке статичных страничек этот подход работает хорошо (когда нужно что-то обновить, редактируются исходники и вновь сгенерированные страницы просто заливаются поверх старых), то при внедрении в традиционные CMS, где верстка перемешивается с данными, возникает проблема: либо после каждого обновления придется заново заниматься интеграцией, либо после внедрения править уже на стороне шаблонов CMS и от первоначальной стемы с БЭМ-сборкой отказаться.

В идеальном варианте это решается использованием БЭМ-шаблонов и на стороне сервера. Удобнее всего, если сервер умеет выполнять JavaScript, но есть и поддержка PHP: https://github.com/bem/bh-php Альтернативный вариант — выполнять шаблоны на клиенте, где JavaScript есть всегда либо подключать биндинги в v8 для любых других серверных языков.

Эти темы поднимались на форуме, можно поискать с помощью github issues.

Как создавать свои библиотеки (типо библиотеки "j" из примера) и где их хранить?

Чтобы создать свою библиотеку, в минимальном варианте достаточно создать новую папку, сложить туда папки с блоками и подключить на проект аналогично подключению библиотеки j. Если же хочется использовать всю инфраструктуру про линтеры/тесты/сборку документации и примеров, то проще всего склонировать bem-components, удалить все существующие блоки и добавить свои.

Хранить мы предпочитаем на github и версионировать через bower, но это не принципиально, конечно.

Чтобы создавать что-то своё необходимо использовать все файлы из "проектов-примеров" типо = "test-project"?

В некоторых случаях часть файлов можно безболезненно удалить, но ответ зависит от задач, которые необходимо решать.

3ABAPKA commented 8 years ago

Спасибо огромное! Я получил исчерпывающие ответы! Вы лучшие!