2015-06-05 2 views
3

Я довольно новичок в использовании терминала и установке gulp, но я просматриваю несколько ошибок. Ошибки продолжают появляться, и я не уверен, почему. Моя цель прямо сейчас - установить глоток во всем мире, но не уверен, что какие-либо старые файлы мешают. Может быть, чистая и переустановка будет работать? Ошибка ниже. Благодаря!Ошибка при установке Gulp

pm ERR! tar.unpack untar error /Users/.npm/gulp/3.9.0/package.tgz 
npm ERR! Darwin 14.1.0 
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "gulp" 
npm ERR! node v0.12.4 
npm ERR! npm v2.10.1 
npm ERR! path /usr/local/lib/node_modules/gulp 
npm ERR! code EACCES 
npm ERR! errno -13 

npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/gulp' 
npm ERR!  at Error (native) 
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/gulp'] 
npm ERR! errno: -13, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/usr/local/lib/node_modules/gulp', 
npm ERR! fstream_type: 'Directory', 
npm ERR! fstream_path: '/usr/local/lib/node_modules/gulp', 
npm ERR! fstream_class: 'DirWriter', 
npm ERR! fstream_stack: 
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25', 
npm ERR!  '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53', 
npm ERR!  'FSReqWrap.oncomplete (fs.js:95:15)' ] } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /usr/local/bin/npm-debug.log 
+0

Не позволяйте нисходящим спутникам мешать вам встать и задать больше вопросов. Ваша проблема является общей проблемой и легко решается :). См. Мой ответ ниже, или если вы не возражаете печатать 'sudo' много, тогда другие ответы действительно также: – Chev

+0

@AlexFord Спасибо, Алекс :) ​​Да, я не уверен, почему мой вопрос получил downvoted. Я установил homebrew, прежде чем пытаться установить gulp, но не столкнулся с этой ошибкой, пока не попытаюсь выполнить глобальную установку. Я обязательно попробую это и вернусь к вам, чтобы посмотреть, смогу ли я преодолеть эту проблему. Спасибо огромное! :) –

+0

Добро пожаловать :). Nvm определенно решит вашу проблему с глобальными установками через npm. В стороне, если вы устанавливаете nvm через Homebrew, обязательно прочитайте текст в терминале после его установки и следуйте инструкциям. Это несколько быстрых шагов, но их легко пропустить, если вы игнорируете его, как я часто делаю: P. Он сообщает вам добавить пару строк в файл '.bashrc'. Обратите внимание, что в OSX вы действительно хотите добавить эти строки в '~/.bash_profile'. – Chev

ответ

4

Другие ответы обходят эти проблемы путем использования от sudo или su root. Я лично этого не рекомендую. Причина, по которой это работает, заключается в том, что в OSX глобальный каталог модулей npm имеет более строгие разрешения. Запуск ваших команд с привилегиями root только для того, чтобы обойти проблемы с разрешениями, скорее всего, вызовет у вас головные боли в дороге и откроет вам уязвимости безопасности. По крайней мере, это приведет к тому, что вам придется использовать sudoпостоянно при попытке выполнить рутинный узел/npm вещи. Более безопасным способом было бы изменение разрешений именно этого каталога. Однако даже это может иногда вызвать кошмары.

Моей альтернативной рекомендацией для других предложений здесь является использование nvm.

Вы можете установить его с завитком (вы это уже, просто вставьте следующую команду):

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

Или вы можете использовать Homebrew, если у вас есть, что установлено:

brew install nvm 

После установки , вы сможете легко установить любую требуемую версию узла или iojs.

nvm install node 

Вышеупомянутая команда установит последнюю версию узла. Самое приятное, что все ваши установки node/iojs управляются в пределах ~/.nvm/, то есть они находятся в вашем домашнем каталоге, где у вас всегда будут разрешения полного доступа, и вам никогда не понадобится использовать sudo.

+2

HI Alex. Спасибо вам за помощь! Это именно то, что я искал!:) –

+1

Следует отметить, что речь идет не только о головных болях, но и создает серьезную уязвимость безопасности. Никогда не используйте sudo для установки пакетов узлов. – codewizard

1

Вы не имеете права на запись ип/Сюр/местный Либо запустить sudo npm install -g gulp или дайте пользователю права на запись в/USR/местные

+0

okay. Спасибо. Я обязательно рассмотрю права. –

+0

Установка пакета таким образом полностью открывает всю вашу файловую систему в пакете узлов. Даже если у создателя нет злонамеренных намерений, небольшая ошибка в их коде может выровнять всю вашу файловую систему. – codewizard

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