Подтвердить что ты не робот

Установка NPM для неработающих пакетов

Т заранее заблаговременно за любую помощь, которую я могу получить.

Я пытаюсь установить такие пакеты, как grunt, bower и yoman, используя nodejs и NPM в моем Mac OSX 10.8.

Я проверяю версии node и NPM, чтобы убедиться, что они установлены правильно и обнаружили, что это правда. Однако, когда я начинаю запускать команду для установки пакета, такого как беседка, используя следующее:

npm install -g bower

Я получаю различные ошибки. Я пытаюсь избежать использования команды sudo. Я попытался использовать sudo, но потом получил бы ответ "команда не найдена". У меня есть ощущение, что пакеты могут быть не в правильных папках или каталогах, но я не понимаю, что делать дальше.

Для справки это ошибки, которые я получаю:

npm ERR! Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower/.editorconfig'
npm ERR!  { [Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower/.editorconfig']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/myname/.node/lib/node_modules/bower/.editorconfig' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 12.5.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! cwd /Users/myname
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! path /Users/myname/.node/lib/node_modules/bower/.editorconfig
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower/.editorconfig'
npm ERR! error rolling back Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower   /.editorconfig'
npm ERR! error rolling back  { [Error: EACCES, unlink '/Users/myname/.node/lib/node_modules/bower/.editorconfig']
npm ERR! error rolling back   errno: 3,
npm ERR! error rolling back   code: 'EACCES',
npm ERR! error rolling back   path: '/Users/myname/.node/lib/node_modules/bower/.editorconfig' }
npm ERR! not ok code 0

В целях конфиденциальности я заменил свое имя прокси myname на пути. Более того, эта проблема сохраняется, когда я пытаюсь установить хрюканье и йоман.

При дальнейшем осмотре я заметил, что у меня две папки. Один из названных "пользователей" и одно имя "usr". Внутри "пользователей" я вижу папку с именем node_modules. Тем не менее, в 'usr/local/lib/node_modules/npm/node_modules' я заметил, что нет файлов беседы, ворчания или йомана. Это просто предположение, но файлы не установлены должным образом в нужные папки для их запуска в npm?

Любая помощь или ввод будет чрезвычайно оценена!

ОБНОВЛЕНИЕ 10/10/14

Для ссылки на людей я попробовал команду sudo, чтобы увидеть, будет ли она работать, и она отображает следующее:

   /Users/myname/.node/bin/bower -> /Users/myname/.node/lib/node_modules/bower/bin/bower
     [email protected] /Users/myname/.node/lib/node_modules/bower
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected]
    ├── [email protected] ([email protected])
    ├── [email protected] ([email protected])
    ├── [email protected] ([email protected], [email protected], [email protected])
    ├── [email protected] ([email protected])
    ├── [email protected] ([email protected], [email protected], [email protected], [email protected])
    ├── [email protected] ([email protected])
    ├── [email protected] ([email protected])
    ├── [email protected] ([email protected], [email protected])
    ├── [email protected] ([email protected], [email protected], [email protected], strip- [email protected], [email protected])
    ├── [email protected] ([email protected], [email protected], [email protected])
    ├── [email protected] ([email protected], [email protected], [email protected])
    ├── [email protected] ([email protected], [email protected])
    ├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
    ├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], tough-cook[email protected], [email protected], [email protected])
    ├── [email protected]
    ├── [email protected] ([email protected])
    ├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
    ├── [email protected] ([email protected], [email protected], [email protected], [email protected])
    ├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
    ├── [email protected] ([email protected], [email protected])
    └── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])

================================ Однако вышеизложенное не является правильным решением. Когда я пытаюсь запустить проверку, чтобы проверить, установлена ​​ли беседка, например, набрав bower -v или bower -version или любую другую команду bower, я получаю команду "не найдена". Что происходит?

ОБНОВЛЕНИЕ 10/11/14

Итак, ничто из того, что я до сих пор не пробовал, дало мне возможность запускать команду "npm install -g bower". Из любопытства, как я уже упоминал ранее, я запустил команду sudo npm install -g bower, которая появилась для установки беседки. Тем не менее, при наборе команд любой команды bower по-прежнему появляется команда "command not found". При попытке команды sudo bower приводит к тому, что команда тоже не найдена. Что я не понимаю, так это то, что когда я запускаю команду "npm ls", чтобы посмотреть, что установлен NPM, у меня есть список следующих установленных пакетов. Вам не нужно читать список, так как он длинный, но обратите внимание на то, как первый элемент выглядит на грани. Если это правда, и это означает, что беседа была фактически установлена ​​npm, почему поэтому команды лайнера не работают?

    /Users/myname.
    ├─┬ [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ └─┬ [email protected]
    │ │ │ │   └── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ └── [email protected]
    │ ├─┬ [email protected]
    │ │ └─┬ [email protected]
    │ │   └── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ └── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ └── [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └─┬ [email protected]
    │ │ │   └── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ └─┬ [email protected]
    │ │   └── [email protected]
    │ ├─┬ [email protected]
    │ │ └── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ └─┬ [email protected]
    │ │   └── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ └── [email protected]
    │ │ └─┬ [email protected]
    │ │   └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ └── [email protected]
    │ │ └─┬ [email protected]
    │ │   ├── [email protected]
    │ │   └─┬ [email protected]
    │ │     └── [email protected]
    │ ├─┬ [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ ├─┬ [email protected]
    │ │ │ │ │ ├── [email protected]
    │ │ │ │ │ └── [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ └─┬ [email protected]
    │ │ │   └── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ └─┬ [email protected]
    │ │ │   ├── [email protected]
    │ │ │   ├── [email protected]
    │ │ │   └── [email protected]
    │ │ ├── [email protected]
    │ │ └── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ └── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ ├─┬ [email protected]
    │ │ │ │ │ ├── [email protected]
    │ │ │ │ │ └── [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ ├── [email protected]
    │ │ │ │ ├─┬ [email protected]
    │ │ │ │ │ ├── [email protected]
    │ │ │ │ │ └── [email protected]
    │ │ │ │ ├─┬ [email protected]
    │ │ │ │ │ ├─┬ [email protected]
    │ │ │ │ │ │ ├── [email protected]
    │ │ │ │ │ │ └── [email protected]
    │ │ │ │ │ ├── [email protected]
    │ │ │ │ │ ├── [email protected]
    │ │ │ │ │ └── [email protected]
    │ │ │ │ └─┬ [email protected]
    │ │ │ │   └── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ └─┬ [email protected]
    │ │ │ │   ├── [email protected]
    │ │ │ │   ├── [email protected]
    │ │ │ │   └── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ └─┬ [email protected]
    │ │ │   └── [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ └─┬ [email protected]
    │ │   └── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ └── [email protected]
    │ ├─┬ [email protected]
    │ │ └─┬ [email protected]
    │ │   └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ └─┬ [email protected]
    │ │ │   ├── [email protected]
    │ │ │   ├── [email protected]
    │ │ │   ├── [email protected]
    │ │ │   └── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ └── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ └── [email protected]
    │ │ └── [email protected]
    │ ├─┬ [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ ├── [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ └─┬ [email protected]
    │ │ │ │   └── [email protected]
    │ │ │ └── [email protected]
    │ │ └─┬ [email protected]
    │ │   ├── [email protected]
    │ │   ├─┬ [email protected]
    │ │   │ └─┬ [email protected]
    │ │   │   └── [email protected]
    │ │   ├─┬ [email protected]
    │ │   │ ├── [email protected]
    │ │   │ ├── [email protected]
    │ │   │ ├── [email protected]
    │ │   │ └── [email protected]
    │ │   └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├─┬ [email protected]
    │ │ │ │ ├─┬ [email protected]
    │ │ │ │ │ ├── [email protected]
    │ │ │ │ │ └── [email protected]
    │ │ │ │ └── [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ └─┬ [email protected]
    │ │ │   ├─┬ [email protected]
    │ │ │   │ └── [email protected]
    │ │ │   └─┬ [email protected]
    │ │ │     └─┬ [email protected]
    │ │ │       ├─┬ [email protected]
    │ │ │       │ └── [email protected]
    │ │ │       ├── [email protected]
    │ │ │       ├── [email protected]
    │ │ │       ├─┬ [email protected]
    │ │ │       │ └── [email protected]
    │ │ │       └── [email protected]
    │ │ ├── [email protected]
    │ │ └─┬ [email protected]
    │ │   └─┬ [email protected]
    │ │     └── [email protected]
    │ └── [email protected]
    ├─┬ [email protected]
    │ └── [email protected]
    ├─┬ [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └─┬ [email protected]
    │ │ │   ├── [email protected]
    │ │ │   └── [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ └── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├─┬ [email protected]
    │ │ │ ├── [email protected]
    │ │ │ └── [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├─┬ [email protected]
    │ │ ├── [email protected]
    │ │ └── [email protected]
    │ ├─┬ [email protected]
    │ │ └── [email protected]
    │ ├── [email protected]
    │ ├── [email protected]
    │ └── [email protected]
    └─┬ [email protected]
      ├─┬ [email protected]
      │ ├── [email protected]
      │ ├── [email protected]
      │ ├─┬ [email protected]
      │ │ ├── [email protected]
      │ │ └── [email protected]
      │ └── [email protected]
      └─┬ [email protected]
        ├─┬ [email protected]
        │ ├── [email protected]
        │ └── [email protected]
        ├─┬ [email protected]
        │ ├── [email protected]
        │ └─┬ [email protected]
        │   ├── [email protected]
        │   └── [email protected]
        ├── [email protected]
        └─┬ [email protected]
          ├─┬ [email protected]
          │ ├── [email protected]
          │ ├── [email protected]
          │ ├── [email protected]
          │ └── [email protected]
          └─┬ [email protected]
            └── [email protected]
4b9b3361

Ответ 1

Это решило проблему для меня:

sudo chown -R `whoami` ~/.node/lib/node_modules/bower/
npm install -g bower
bower -v
1.3.12

Вам не нужно запускать npm install как sudo.

Ответ 2

Это сработало для меня:

Я в основном предоставил свои права на доступ к указанному выше директорию сразу после этого → stack Error: EACCES, unlink..., в вашем случае это будет что-то вроде sudo chown -R USERNAME /Users/myname/.

Для людей, которые не знакомы с этим, не забудьте изменить USERNAME в приведенной выше команде с вашим собственным, если вы не знаете свое имя пользователя, просто запустите whoami, чтобы получить его.

После этого вы можете установить любой пакет без, чтобы использовать sudo, npm install -g SomePackage.

Ответ 3

Запустите глобальную (-g) установку как admin.

> sudo npm install -g bower

Вы получили эту ошибку -

npm ERR! Please try running this command again as root/Administrator.

***** UPDATE НИЖЕ *****

Проверьте, установлен ли он и получите версию

> bower -v

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

> sudo bower -v

Теперь вы должны увидеть номер версии.

Соблюдайте пакет с chown

> cd /Users/<username>/.npm
> chown <username> bower*

Я лично беру на себя все права в каталоге /Users/. Это ваш каталог, а не глобальный.

> chown <username> *

***** ОБНОВЛЕНИЕ 2 НИЖЕ *****

Похоже, это проблема PATH. Вы видите каталог npm в PATH при вводе

> echo $PATH

Я использую MacPorts, поэтому npm и node устанавливаются в каталогах /opt/local/bin и/opt/local/sbin. Я сделал быструю проверку в сети, и похоже, что вы должны иметь следующий /usr/local/bin, если вы установили пакет с сайта node.

Ознакомьтесь с в этой статье об установке node (особенно в части PATH.

Эта ссылка также ссылается на в этой статье о том, как изменить свой PATH.

Надеюсь, что это поможет.

Ответ 4

У меня возникли подобные проблемы при попытке установить подставку через NPM.

Я не эксперт по этому вопросу, но был уверен, что он был связан с $PATH и нашел 2 статьи, которые в комбинации исправили это для меня отлично.

Во-первых, это дан Дэн Хэрберт: https://gist.github.com/DanHerbert/9520689

Дэн говорит

"Если вы являетесь пользователем Mac Homebrew и вы установили node через Homebrew, существует серьезная философская проблема с тем, как Homebrew и NPM работать вместе. Если вы установите node с Homebrew, а затем попытаетесь сделать npm update npm -g, вы увидите такую ​​ошибку:"

Ошибка, которую он показывает, очень похожа на вашу исходную ошибку.

Его решение состоит в том, чтобы переустановить node, но чтобы убедиться, что NPM не установлен через homebrew, поскольку он говорит:

npm - это собственный менеджер пакетов, и поэтому лучше иметь npm управлять собой и его пакетами вместо того, чтобы позволять Homebrew это делает. Кроме того, с использованием версии для начинающих npm требуется sudo для установки глобальных пакетов. Это тоже очень плохая идея.

Он говорит, чтобы удалить node, а затем переустановить его со следующими командами:

brew install node --without-npm
echo prefix=~/.node >> ~/.npmrc
curl -L https://www.npmjs.org/install.sh | sh

И затем, чтобы закончить с

export PATH="$HOME/.node/bin:$PATH"

Это работало для меня и исправляло все мои проблемы. Мне удалось запустить "npm install -g bower", не получив сообщение об ошибке.

Наконец, прежде чем я сделал шаги выше, я хотел убедиться, что я полностью удалил node и npm. Для этого я выполнил следующие шаги из вопроса stackoverflow 11177954, в частности, из ответа Доминика Танкреди, который говорит:

Напомним, лучший способ (я нашел) полностью удалить node + npm заключается в следующем:

  • перейдите в /usr/local/lib и удалите любые node и node_modules
  • перейдите в /usr/local/include и удалите все node и node_modules каталог
  • если вы установили с помощью brew install node, затем запустите brew удалить node в ваш терминал
  • проверьте свой домашний каталог для любых локальных или lib или включенных папок и удалите из него node или node_modules
  • перейдите в /usr/local/bin и удалите исполняемый файл node. Возможно, вам понадобится выполнить Дополнительные инструкции:
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules

Я надеюсь, что это поможет кому-то: -)

Ответ 5

У меня была аналогичная проблема с моим mac. Я решил сделать следующее.

  • открыть приложение "Дисковая утилита"
  • выберите жесткий диск.
  • выполнить проверку разрешений на диск
  • выполнить разрешения на ремонт диска

Ответ 6

вам нужно chmod и изменить разрешение файла для всех файлов внутри /Users//. config/configstore/

должен работать нормально после этого. Пользователям Mac, возможно, придется переключиться на root, используя su, которые они должны включить из системных настроек перед запуском команды chmod.