2015-09-19 2 views
1

У меня есть узел/npm, используя документацию nvm.невозможно использовать npm как sudo с nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

Я затем установить его:

nvm install stable

, а затем я должен сделать:

nvm use node

NPM работает, но если я хочу, чтобы установить пакет глобально не работает ,

sudo npm install -g package

Я получил это:

sudo: npm: command not found

Я видел много темы, но я не понимаю ничего с символической ссылкой или что-то вроде этого. Я использую Ubuntu 14.04

ответ

7

nvm сопровождающие здесь - с http://nvm.sh, вы должны никогда не необходимости использовать Суды.

Кроме того, nvm является для пользователя, то есть пользователь sudo не будет иметь его в своей среде оболочки, и его PATH не будет настроен должным образом.

Вобще npm install -g package и он будет работать отлично :-)

Кроме того, если вы nvm alias default node, вы не должны nvm use каждый раз, когда вы открываете новую оболочку!

+0

Так что, если я не должен использовать Sudo как я решить эту проблему: Ошибка: EACCES: Отказано в доступе при попытке доступа. npm в моем доме – BoumTAC

+0

Возможно, вы установили узел/npm с sudo перед использованием 'nvm'. Моя рекомендация состоит в том, чтобы sudo chown весь ваш домашний каталог, чтобы вы его владельцем, и удалите системную версию узла/npm. – LJHarb

+0

@LJHarb npm начать административные привилегии. но не может работать с sudo. что делать тогда? – bazi

0

Почему вы не устанавливаете глобальные пакеты как обычный пользователь?

npm install -g package 
+0

, потому что у меня есть ошибка: EACCES: разрешение отклонено при попытке доступа к .npm в моем доме – BoumTAC

+0

Потому что он был создан ранее с sudo. попробуйте удалить папку (просто переименуйте ее), а затем выполните различные 'npm install -g package' – DevAlien

-1

Я нашел ответ в этом topic.

Это потому, что я устанавливаю его с помощью sudo. я должен сделать эти команды:

sudo chown -R $USER ~/.npm 
sudo chown -R $USER /usr/local/lib/node_module 

И теперь это работа

+0

При использовании' nvm', '/ usr/local/lib/node_module' также не должно использоваться. У вас есть префикс в '~/.npmrc'? если это так, пожалуйста, удалите его. – LJHarb

Смежные вопросы