2013-05-03 4 views
6

Я пытаюсь сделать пакет npm (плагин), чтобы установить небольшую инфраструктуру JS через узел, также придумал пакет package.json.nodejs пакет npm | npm проблема связи

После запуска команды связи npm на терминале Mac вы увидите следующие ошибки.

npm ERR! Error: EACCES, symlink '/Repos/GIT/JavaScript-Boilerplate' 
npm ERR! { [Error: EACCES, symlink '/Repos/GIT/JavaScript-Boilerplate'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/Repos/GIT/JavaScript-Boilerplate' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 12.3.0 
npm ERR! command "node" "/usr/local/bin/npm" "link" 
npm ERR! cwd /Repos/GIT/JavaScript-Boilerplate 
npm ERR! node -v v0.10.4 
npm ERR! npm -v 1.2.18 
npm ERR! path /Repos/GIT/JavaScript-Boilerplate 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, symlink '/Repos/GIT/JavaScript-Boilerplate' 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /Repos/GIT/JavaScript-Boilerplate/npm-debug.log 
npm ERR! not ok code 0 

P.S. Я довольно новичок в nodejs, но имею большой опыт работы с JavaScript, дайте мне знать, если вам нужно больше деталей.

EDIT - Надо решенных вопросов, приведенных выше, но теперь получать больше вопросов, как показано ниже:

6495 verbose false,/Repos/GIT/JavaScript-Boilerplate/node_modules,/Repos/GIT/JavaScript-Boilerplate/node_modules/jquery/node_modules unbuild [email protected] 
6496 info postuninstall [email protected] 
6497 verbose about to build /Repos/GIT/JavaScript-Boilerplate/node_modules/jquery 
6498 info /Repos/GIT/JavaScript-Boilerplate/node_modules/jquery unbuild 
6499 verbose from cache /Repos/GIT/JavaScript-Boilerplate/node_modules/jquery/package.json 
6500 info preuninstall [email protected] 
6501 info uninstall [email protected] 
6502 verbose true,/Repos/GIT/JavaScript-Boilerplate/node_modules,/Repos/GIT/JavaScript-Boilerplate/node_modules unbuild [email protected] 
6503 info postuninstall [email protected] 
6504 error [email protected] install: `node-gyp rebuild` 
6504 error `sh "-c" "node-gyp rebuild"` failed with 1 
6505 error Failed at the [email protected] install script. 
6505 error This is most likely a problem with the contextify package, 
6505 error not with npm itself. 
6505 error Tell the author that this fails on your system: 
6505 error  node-gyp rebuild 
6505 error You can get their info via: 
6505 error  npm owner ls contextify 
6505 error There is likely additional logging output above. 
6506 error System Darwin 12.3.0 
6507 error command "node" "/usr/local/bin/npm" "link" 
6508 error cwd /Repos/GIT/JavaScript-Boilerplate 
6509 error node -v v0.10.4 
6510 error npm -v 1.2.18 
6511 error code ELIFECYCLE 
6512 verbose exit [ 1, true ] 
    enter code here 
    enter code here 

Похоже, я близок к нему :)

+0

Я исправил некоторые значения package.json, теперь он дает мне следующую проблему: module.js: 340 throw err; ^ Ошибка: не удается найти модуль '/ Repos/GIT/JavaScript-Boilerplate/link' в Function.Module._resolveFilename (module.js: 338: 15) в Function.Module._load (module.js: 280: 25) в Function.Module.runMain (module.js: 497: 10) при запуске (node.js: 119: 16) at node.js: 901: 3 –

ответ

2

хей!

Посмотрите эти строки!

code EACCES (error acces like acces denied) 
& 
Please try running this command again as root/Administrator. (acces denied) 

попробуйте использовать его с правами пользователя.

или разделить эти файлы: /Repos/GIT/JavaScript-Boilerplate/npm-debug.log

+0

Ох, человек решил, что он разрешил первоначальные ошибки, просто необходимо запустить sudo chown -R $ USER/usr/local в терминале, теперь возникают новые проблемы, но в любом случае спасибо за быстрый указатель, я пропустил это. –

1

Самый простой способ решить эту проблему было бы выполнить ту же команду еще раз, используя sudo:

sudo npm link 

Пожалуйста, не изменить владельца каталога /usr/local, поскольку это может а) иметь дополнительные последствия для установленного приложения и b) может поставить под угрозу безопасность в вашей системе. Использование sudo - правильный способ решить эту проблему.

3

разрешений вы использовали при установке узла будет необходимы при выполнении таких вещей, как писать в каталоге НОГО (npm link, npm install -g и т.д.).

Возможно, вы выполнили установку узла с правами root, поэтому глобальная установка пакета требует от вас root.


Решение 1: NVM

Don't hack with permissions, install node the right way.

На машине разработчика, вы не должны установить и запустить узел с корневыми правами, в противном случае таких вещей, как npm link, npm install -g будут нужны то же разрешение.

NVM (Node Version Manager) позволяет вам устанавливать Node без прав root, а также позволяет устанавливать множество версий узла, чтобы легко играть с ними. Идеально подходит для разработки.

  1. Устранение узла (возможно, потребуется разрешение на использование root).
    • Чтобы удалить все ранее установленные глобальные модули npm, см. Эти answers.
  2. Затем установить NVM следующие инструкции on this page.
  3. Установка узла через NVM: nvm install stable

npm link Теперь, npm install -g больше не будет требовать от вас быть корнем.


Решение 2: Установить пакеты по всему миру для данного пользователя

Don't hack with permissions, install npm packages globally the right way.

Если вы на OSX или Linux, вы можете создать специальный каталог пользователя для глобального пакета и настройки npm и node, чтобы узнать, как найти глобально установленные пакеты.

Отметьте this great article за пошаговые инструкции по установке модулей npm по всему миру без sudo.

См. Также: документация npm по адресу Fixing npm permissions.

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