2gis / makeup

JavaScript tool for comfortable manual testing of markup
http://2gis.github.io/makeup
Mozilla Public License 2.0
443 stars 45 forks source link

Невозможно установить пакет #17

Closed andysh7 closed 9 years ago

andysh7 commented 9 years ago

Во-первых, ссылка в README.md на репозиторий, некорректная, исправьте пожалуйста.

Система: Mac OS X. После клонирования проекта из репозитория и попытки установить, появляется ошибка следующего содержания:

andshulga@dev ~/shulga/test/makeup (master) $ npm i
-
> gmsmith@0.4.5 preinstall /Users/andshulga/shulga/test/makeup/node_modules/gmsmith
> gm -version || convert -version

sh: gm: command not found
sh: convert: command not found
npm ERR! Darwin 14.3.0
npm ERR! argv "node" "/usr/bin/npm" "install"
npm ERR! node v0.12.0
npm ERR! npm  v2.1.2
npm ERR! code ELIFECYCLE

npm ERR! gmsmith@0.4.5 preinstall: `gm -version || convert -version`
npm ERR! Exit status 127
npm ERR!
npm ERR! Failed at the gmsmith@0.4.5 preinstall script.
npm ERR! This is most likely a problem with the gmsmith package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gm -version || convert -version
npm ERR! You can get their info via:
npm ERR!     npm owner ls gmsmith
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/andshulga/shulga/test/makeup/npm-debug.log
markuplab commented 9 years ago

brew install graphicsmagick

andysh7 commented 9 years ago

Спасибо большое! Хорошо бы это в документацию добавить :) Отчасти помогло, правда после запуска сборщика все равно ошибка, и установка сама прошла не гладко, видимо из-за того что версия ноды повыше.

npm WARN engine pngjs@0.4.0: wanted: {"node":"0.8.x"} (current: {"node":"0.12.0","npm":"2.1.2"})

В итоге:

andshulga@dev ~/shulga/test/makeup (master) $ gulp
[11:21:31] Using gulpfile ~/shulga/test/makeup/gulpfile.js
[11:21:31] Starting 'default'...
[11:21:31] Starting 'dev'...
[11:21:31] Starting 'build'...
[11:21:31] Starting 'templates'...
[11:21:31] Starting 'build-templates'...
[11:21:32] Finished 'default' after 50 ms
[11:21:32] Finished 'build-templates' after 153 ms
[11:21:32] Finished 'templates' after 155 ms
[11:21:32] Starting 'js'...
[11:21:32] Starting 'jshint'...
[11:21:32] Finished 'jshint' after 619 ms
[11:21:32] Starting 'build-scripts'...
[11:21:32] Finished 'build-scripts' after 37 ms
[11:21:32] Starting 'copy-scripts'...
[11:21:32] Finished 'copy-scripts' after 4.27 ms
[11:21:32] Finished 'js' after 662 ms
[11:21:32] Starting 'sprite'...
[11:21:32] Starting 'copy-svg'...
[11:21:32] Finished 'copy-svg' after 44 ms
[11:21:32] Starting 'rasterize-svg'...
[11:21:50] Finished 'rasterize-svg' after 18 s
[11:21:50] Starting 'build-sprite'...
/Users/andshulga/shulga/test/makeup/node_modules/gmsmith/node_modules/temporary/lib/detector.js:23
  var last = Array.prototype.pop.apply(path);
                                 ^
TypeError: Cannot define property:48, object is not extensible.
    at normalize (/Users/andshulga/shulga/test/makeup/node_modules/gmsmith/node_modules/temporary/lib/detector.js:23:34)
    at Object.detector.tmp (/Users/andshulga/shulga/test/makeup/node_modules/gmsmith/node_modules/temporary/lib/detector.js:43:10)
    at Object.generator.build (/Users/andshulga/shulga/test/makeup/node_modules/gmsmith/node_modules/temporary/lib/generator.js:45:27)
    at File.Base.init (/Users/andshulga/shulga/test/makeup/node_modules/gmsmith/node_modules/temporary/lib/base.js:31:28)
    at new File (/Users/andshulga/shulga/test/makeup/node_modules/gmsmith/node_modules/temporary/lib/file.js:23:8)
    at Object.createCanvas (/Users/andshulga/shulga/test/makeup/node_modules/gmsmith/lib/gmsmith.js:96:21)
    at generateCanvas (/Users/andshulga/shulga/test/makeup/node_modules/gulp.spritesmith/node_modules/spritesmith/src/smith.js:124:16)
    at fn (/Users/andshulga/shulga/test/makeup/node_modules/gulp.spritesmith/node_modules/spritesmith/node_modules/async/lib/async.js:582:34)
    at Immediate._onImmediate (/Users/andshulga/shulga/test/makeup/node_modules/gulp.spritesmith/node_modules/spritesmith/node_modules/async/lib/async.js:498:34)
    at processImmediate [as _immediateCallback] (timers.js:358:17)
markuplab commented 9 years ago

Да node 0.12 плохо работает. Но она сейчас очень мало где адекватно поддерживается, из-за новых потоков (aka streams). Чтобы безболезненно откатиться на старую версию, советую воспользоваться утилитой n для изменения версий node.js https://github.com/tj/n

sudo npm i -g n
n 0.10.28

После этого удалите node_modules из папки makeup и заново установите. Если вам критична последняя версия вы сможете быстро вернуться к ней, написав также в консоле n stable или n 0.12.0

semenov commented 9 years ago

Возникла такая же ошибка с gm, надо обязательно добавить в документацию информацию про зависимость от graphicsmagick.

semenov commented 9 years ago

И да, возникла точно такая же ошибка с Array.prototype.pop.apply. Надо вам адаптировать под 0.12

andysh7 commented 9 years ago

В общем взлетело на 0.10.28, но собралось не без ошибок, пока на работу не влияет, но надо смотреть. Буду пробовать использовать в работе. Спасибо!