Как обновить ссылки на пакеты 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, если первое решение не будет работать для вас.

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