Yo ъглова грешка?

Инсталирах Yeoman на моя Mac (OS X 10.9) и се опитвам да стартирам yo angular.

Получавам следната грешка:

path.js:384
    throw new TypeError('Arguments to path.join must be strings');
          ^
TypeError: Arguments to path.join must be strings
at exports.join (path.js:384:15)
at Generator.<anonymous> (/usr/local/lib/node_modules/generator-angular/common/index.js:26:34)
at Generator.setupEnv (/usr/local/lib/node_modules/generator-angular/common/index.js:29:3)
at /usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/lib/base.js:387:14
at processImmediate [as _immediateCallback] (timers.js:374:17)

Софтуерни версии

  • възел 0.11.13
  • npm 1.4.26
  • yo 1.1.2
  • беседка 1.3.9
  • grunt-cli 0.1.13

yo също казва, че има актуализация за yo (1.2.1), но няма да се инсталира с npm update -g yo

Опитах също да инсталирам на друга машина със същия резултат (следвайки ръководството на yeoman http://yeoman.io/codelab/setup.html)

Ако някой може да ми помогне, ще съм много благодарен.


person Erwin van Hoof    schedule 14.09.2014    source източник


Отговори (1)


За да можете да актуализирате yo, ще трябва да имате изпълнимия файл в папка, в която имате разрешение за запис.

Работя на Mac и за да реша този проблем, трябваше да направя следното:

Първо; Променете къде npm инсталира глобални модули. Бягай

$ npm config set prefix="/home/USERNAME/npm"

Тогава; Добавете новия път към променливата $PATH (във вашите .bash_profile или .bashrc)

PATH=$PATH:/home/USERNAME/npm/bin
export PATH

Накрая; Деинсталирайте вашите глобални npm пакети и ги инсталирайте отново, като използвате новата конфигурация.

person Muhammad Reda    schedule 14.09.2014
comment
Благодаря ви за отговора, много ми помогна. - person Erwin van Hoof; 14.09.2014
comment
Първо опитах отговора на вашето решение, но това не проработи. Трябваше първо да деинсталирам всичко (node/npm/yo), след което добавих пътя Users/USERNAME/npm/bin към моя PATH, след това нова инсталация на node & npm, след което зададох префикса на стойността на конфигурацията след този инсталиран Yeoman. Това свърши работа. (Деинсталирането, което използвах, беше от тази публикация stackoverflow.com/questions/11177954/) - person Erwin van Hoof; 14.09.2014
comment
Опитах се да гласувам за (което очевидно не мога според моя резултат), не съм пробвал бутона за приемане, но го направих сега и това изглежда работи. ура!!! - person Erwin van Hoof; 23.09.2014
comment
:) добре, остават ви само 2 точки репутация, за да можете да гласувате за :D - person Muhammad Reda; 23.09.2014