Попытка установить yeoman в Ubuntu для использования с nodejs и npm

Использование Ubuntu 13.10

Я пытаюсь установить yeoman с помощью sudo npm install -g yo, но, похоже, он не работает глобально, установлены npm и nodejs, однако я не уверен, что они установлены правильно для использования во всем мире. Я не могу использовать npm, мне нужно использовать sudo npm

Для установки узла js я использовал

    $ sudo apt-get install python-software-properties
    $ sudo apt-add-repository ppa:chris-lea/node.js
    $ sudo apt-get update
    $ sudo apt-get install nodejs

Когда я использую sudo npm install -g yo, вывод, который я получаю, составляет

    /usr/bin/yo -> /usr/lib/node_modules/yo/cli.js

    > yo@1.2.1 postinstall /usr/lib/node_modules/yo
    > node ./scripts/doctor

    [Yeoman Doctor] Everything looks alright!

    yo@1.2.1 /usr/lib/node_modules/yo
    ├── is-root@0.1.0
    ├── fullname@0.1.1
    ├── opn@0.1.2
    ├── async@0.9.0
    ├── shelljs@0.3.0
    ├── lodash@2.4.1
    ├── multiline@0.3.4 (strip-indent@0.1.3)
    ├── sudo-block@0.4.0 (chalk@0.4.0)
    ├── nopt@3.0.1 (abbrev@1.0.5)
    ├── chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-           color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
    ├── string-length@0.1.2 (strip-ansi@0.2.2)
    ├── findup@0.1.5 (commander@2.1.0, colors@0.6.2)
    ├── yosay@0.3.0 (ansi-regex@0.2.1, pad-component@0.0.1, ansi-styles@1.1.0, word- 
    wrap@0.1.3, strip-ansi@0.2.2, minimist@0.2.0, chalk@0.4.0, taketalk@0.1.1)
    ├── update-notifier@0.2.0 (semver-diff@0.1.0, latest-version@0.2.0,    

    configstore@0.3.1)
    ├── insight@0.3.1 (object-assign@0.1.2, chalk@0.4.0, async@0.2.10,    
    lodash.debounce@2.4.1, inquirer@0.4.1, request@2.27.0, configstore@0.2.3)
    └── yeoman-generator@0.17.2 (dargs@0.1.0, github-username@0.1.1, diff@1.0.8,  
    class-extend@0.1.1, rimraf@2.2.8, chalk@0.4.0, text-table@0.2.0, mime@1.2.11,  
    isbinaryfile@2.0.1, debug@1.0.4, grouped-queue@0.3.0, mkdirp@0.5.0,    
    underscore.string@2.3.3, glob@4.0.5, iconv-lite@0.2.11, findup-sync@0.1.3, file-
    utils@0.2.0, download@0.1.18, cheerio@0.17.0, request@2.39.0, gruntfile-
    editor@0.1.1, inquirer@0.5.1)

Похоже, что yeoman установлен правильно, но он не работает - когда я печатаю yo, ничего не происходит ... Нужно ли указывать yo в моем $PATH? Я не совсем уверен, как это сделать. Кроме того, как мне настроить npm, чтобы мне не приходилось использовать sudo npm?

4
задан 6 August 2014 в 19:55

2 ответа

Стоит отметить, что Ubuntu 13.10 официально больше не поддерживается, но это не должно иметь большую часть значения для этих инструкций.

npm без sudo

Первые вещи сначала, давайте разберемся в полномочиях. Большинство инструкций по установке Node.js для Ubuntu дает Вам команду устанавливать Node.js или из официальных репозиториев или от chris-lea PPA. Так или иначе Вы закончите тем, что установили Node.js и NPM использование sudo, который приводит к путанице полномочий на машинах разработки.

существует вопрос на StackOverflow о том, как "зафиксировать" эти полномочия, хотя в большинстве случаев, необходимо будет сделать пользователя владельцем /usr/local/lib/node_modules лет, который является супер поверхностным.

Вместо этого я думаю, что лучший ответ безусловно к установка Node.js использование NVM. В дополнение к разрешению Вам выполнить несколько версий Node.js на том же компьютере, эта опция также сохраняет все в Вашей домашней папке, таким образом, Ваш пользователь владеет NPM, и Вы не должны бездельничать с sudo npm.

Используя Эй

, Как только в Ваших полномочиях разбираются, все шаги, которые Вы сделали, чтобы установить и выполнить Йомена (npm install -g yo), должны работать просто великолепно.

необходимо будет работать nvm use v0.10 каждый раз, когда Вы запускаете новый терминальный сеанс, как бы то ни было. Можно обойти это путем добавления сценария к Вашему .bashrc, который автоматически выполнит это для Вас в начале каждой сессии,

0
ответ дан 6 August 2014 в 19:55

Необходимо проверить этот сообщение

, оно решает эту проблему

0
ответ дан 6 August 2014 в 19:55
  • 1
    Кроме того, выбирая " ignore" при ipv6 настройках на моем connection' s настройки, решенные моя проблема. – GramThanos 13 September 2017 в 03:38

Другие вопросы по тегам:

Похожие вопросы: