Как обновить ссылки на пакеты phantomjs на phantomjs-prebuilt - сообщение с терминала в Mac OS
Я пытаюсь выучить mean.js с помощью учебника.
Я установил node.js, npm, mongodb, grunt, bower, gulp и yeoman без каких-либо ошибок.
Когда я пытаюсь "yo meanjs" в терминале (в Mac OS), я захожу в каталог, куда я хочу установить, и отвечаю на несколько вопросов. Я постоянно получаю это сообщение: Ошибка: Команда не выполнена: /bin/sh -c cd users/danzeller/mean/vteer && npm install npm WARN устарела phantomjs@2.1.7: пакет переименован в phantomjs-prebuilt. Пожалуйста, обновите ссылки пакета 'phantomjs' на 'phantomjs-prebuilt'
Я установил phantomjs-prebuilt согласно их сайту без ошибок.
Я не уверен, как "обновить ссылки", как показано в сообщении об ошибке.
Вот полная ошибка терминала:
Running npm install for you....
This may take a couple minutes.
Error: Command failed: /bin/sh -c cd users/danzeller/mean/vteer && npm install
npm WARN deprecated phantomjs@2.1.7: Package renamed to phantomjs-prebuilt. Please update 'phantomjs' package references to 'phantomjs-prebuilt'
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.4.0
npm ERR! npm v3.8.1
npm ERR! path /var/root/.npm/connect-mongo
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/var/root/.npm/connect-mongo'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, mkdir '/var/root/.npm/connect-mongo']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/var/root/.npm/connect-mongo',
npm ERR! parent: 'volunteer' }
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! /private/var/root/users/danzeller/mean/vteer/npm-debug.log
at ChildProcess.exithandler (child_process.js:213:12)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at maybeClose (internal/child_process.js:827:16)
at Socket.<anonymous> (internal/child_process.js:319:11)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at Pipe._onclose (net.js:475:12)
Кажется, он хочет поместить установку в папку / private / var / root /, однако я хотел бы поместить ее в папку /users/danzeller/mean/.
я использую
sudo su -
в окне терминала установить это ---- это неправильно? Это указывает на неправильную папку?
Любая помощь будет отличной, так как я новичок во всем этом.
Спасибо! Дэн
2 ответа
У меня была такая же проблема с Node версии 8.1.2(новая) и npm версии 5.0.3. После того, как я понизил Node до V6.11.0(стабильный) и npm V3.10.10, это исправило мою проблему.
Вы также можете попробовать удалить каталог "/usr/local/lib/node-modules" и переустановить Node V6.11.0, если первое решение не будет работать для вас.