Closed pavelpower closed 9 years ago
А можешь рассказать подробнее про проблемы, с которыми они столкнулись? Я попробовал воспроизвести клонирование и запуск project-stub, все получилось, библиотеки устанавливаются и сервер запускается.
А вот у них скачалось, сразу потребовался bower потом stylus потом ещё чего-то. Напишу с компании по подробнее 14.10.2014 14:36 пользователь "Dima Belitsky" notifications@github.com написал:
А можешь рассказать подробнее про проблемы, с которыми они столкнулись? Я попробовал воспроизвести клонирование и запуск project-stub, все получилось, библиотеки устанавливаются и сервер запускается.
— Reply to this email directly or view it on GitHub https://github.com/bem/project-stub/issues/73#issuecomment-59020437.
bower
, stylus
и другие пакеты действительно нужны, но они все должны установиться с помощью одного вызова npm i
, т.к. в корне проекта лежит https://github.com/bem/project-stub/blob/bem-core/package.json#L15, где описаны все зависимости.
Я так понимаю, что пакеты не встают глобально, а их пытаются позвать. Вероятно чтобы вообще без телодвижений, надо звать пакеты так
$: node_modules/.bin/stylus
Коллеги, тоды надо изменить описание установки. Я вот смотрю есть такое:
"scripts": {
"postinstall": "bower-npm-install",
"deps": "bower-npm-install --non-interactive"
},
Можно ведь и дополнить этот раздел.
@pavelpower что именно хочется изменить? речь о том, чтобы описать, что происходит на пост-инсталл в тексте ридми?
Кажется, у меня проблема по адресу. Склонировал проект, сделал npm install, все ок. Запускаю bem make и вижу что-то типа
23:41:46.776 - info: Server is listening on port 8080. Point your browser to http://localhost:8080/
23:41:50.756 - info: [i] Going to build 'desktop.bundles*' [1]
23:41:51.152 - info: [i] Going to build 'desktop.bundles/index*' [2]
23:41:51.184 - warn: Level at /Users/just-boris/coding/test-proj/desktop.bundles/index/blocks is not a directory
23:41:51.219 - info: [i] Going to build 'desktop.bundles/index' [3]
23:41:51.257 - info: [t] isValid() time for "desktop.bundles/index/index.bemdecl.js" [3]: 2ms
23:41:51.259 - info: [t] isValid() time for "desktop.bundles/index/index.deps.js" [3]: 1ms
23:41:51.260 - info: [*] make 'desktop.bundles/index/index.deps.js' [3]
23:41:51.337 - warn: Tech module with path '/Users/just-boris/coding/test-proj/libs/bem-core/libs/bem-pr/bem/techs/spec.js.js' not found on require search paths
23:41:51.338 - warn: Tech module with path '/Users/just-boris/coding/test-proj/libs/bem-core/libs/bem-pr/bem/techs/spec.js+browser.js+bemhtml.js' not found on require search paths
23:41:51.339 - warn: Tech module with path '/Users/just-boris/coding/test-proj/libs/bem-core/libs/bem-pr/bem/techs/spec.bemjson.js.js' not found on require search paths
23:41:51.408 - warn: Tech module with path '/Users/just-boris/coding/test-proj/libs/bem-core/libs/bem-pr/bem/techs/spec.js.js' not found on require search paths
23:41:51.409 - warn: Tech module with path '/Users/just-boris/coding/test-proj/libs/bem-core/libs/bem-pr/bem/techs/spec.js+browser.js+bemhtml.js' not found on require search paths
23:41:51.410 - warn: Tech module with path '/Users/just-boris/coding/test-proj/libs/bem-core/libs/bem-pr/bem/techs/spec.bemjson.js.js' not found on require search paths
Попробовал совет топик-стартера — не помог. На странице http://localhost:8080/desktop.bundles/index получаю
GET http://localhost:8080/desktop.bundles/_index.css 404 (Not Found)
GET http://localhost:8080/desktop.bundles/_index.js 404 (Not Found)
@just-boris попробуй http://localhost:8080/desktop.bundles/index/index.html
@voischev помогло, проблема из-за недостающего trailing slash, спасибо. Но warning по-прежнему в консоли и немного настораживает. Это нормально?
@just-boris живу с ними много месяцев :) Кажется уже не замечаю их
Нашел причину проблемы.
После npm install
получаю такой лог:
npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"0.10.32","npm":"1.4.28"})
npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"0.10.32","npm":"1.4.28"})
npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"0.10.32","npm":"1.4.28"})
npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"0.10.32","npm":"1.4.28"})
npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"0.10.32","npm":"1.4.28"})
npm WARN cannot run in wd bem-project-stub@1.0.0 bower-npm-install (wd=/home/denis/Projects/start-pretty-project)
Судя по последней строке bower-npm-install
не запускается, поэтому bem make
валит ошибку при поиске технологий. Происходит все из-за того, что на Ubuntu npm install
запрашивает права суперпользователя:
npm ERR! Error: EACCES, mkdir '/home/denis/.npm/qs/2.3.2'
npm ERR! { [Error: EACCES, mkdir '/home/denis/.npm/qs/2.3.2']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/home/denis/.npm/qs/2.3.2',
npm ERR! parent: 'request' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
А при выполнении postinstall
NPM пытается понизить права пользователя, из-за чего и возникает такая проблема.
Более подробно о проблеме прав пользователей при postinstall
https://github.com/npm/npm/issues/3497
@DenisChinin предположу, что может помочь sudo chown -R
whoami/home/denis/
@tadatuta это тогда лучше добавить в описание установки. С этой проблемой могут другие пользователи Ubuntu и OSX столкнуться, так как заметить, что не выполнился postinstall
очень тяжело.
@DenisChinin это не что-то специфичное для project-stub
, потенциально такая же проблема возникнет и для других пакетов, если ~/.npm
принадлежит руту
@tadatuta +1 )
@tadatuta
что именно хочется изменить? речь о том, чтобы описать, что происходит на пост-инсталл в тексте ридми?
на ум приходит добавить в раздел: https://github.com/bem/project-stub#installation
npm run postinstall
@innabelaya Инна, давай добавим в quick start предупреждение, что не стоит устанавливать npm- и bower-пакеты под root
?
@tadatuta FYI, bower из-под root не запускается: https://github.com/bower/bower/blob/master/lib/util/rootCheck.js#L24
@just-boris для этого есть флаг --allow-root
, но да, речь как раз о том, чтобы не рекомендовать пользователям такой способ
Так, как большинство технологий используемых в данном проекте нет у большинства разработчиков, которые хотят попробовать на зубок, просто нет. То нужно учитывать это.
Я дал задание двум бойцам попробовать этот проект и они столкнулись с проблемами, которые решались только так:
bem server -p 8080 -v debug
@arikon Подсказал, что с установкой должен помочь
bower-npm-install
пакет. Но его нет в основных зависимостях. И людям не ведомо за него.