2014-09-21 3 views
1

Я пытаюсь установить one of my own packages следующегоНОЙ установка из мерзавца репо терпит неудачу с ENOENT

npm install --save gfarrell/state.js 

, и я получаю следующие ошибки (full log here):

npm ERR! addLocal Could not install gfarrell/state.js 
npm ERR! Error: ENOENT, stat 'gfarrell/state.js' 
npm ERR! If you need help, you may report this *entire* log, 
npm ERR! including the npm and node versions, at: 
npm ERR!  <http://github.com/npm/npm/issues> 

npm ERR! System Darwin 13.4.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" "--save" "gfarrell/state.js" 
npm ERR! cwd /Users/gideon/Code/PresenceMonitor 
npm ERR! node -v v0.10.28 
npm ERR! npm -v 1.4.10 
npm ERR! path gfarrell/state.js 
npm ERR! code ENOENT 
npm ERR! errno 34 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /Users/gideon/Code/PresenceMonitor/npm-debug.log 
npm ERR! not ok code 0 

Теперь я попытался various solutions в том числе:

  • npm cache clean
  • sudo npm cache clean
  • rm -rf ~/.npm
  • sudo npm install --save gfarrell/state.js
  • npm install --save git://github.com/gfarrell/state.js.git

, но ничего не изменилось вывод сообщения об ошибке. Я не вижу ничего плохого в модуле package.json, и я ничего не добавил к своему местному package.json. Я на самом деле попытался установить этот пакет на более раннюю версию, и он работал нормально, поэтому я просто не понимаю, что происходит не так.

Излишне говорить, что все это довольно расстраивает. Есть ли что-то еще, что я просто не вижу?

+0

Удалось ли вам решить эту проблему? –

+0

Я не помню, как, боюсь. Но второй ответ ниже может помочь? – GTF

+0

nope .. Ty while –

ответ

0

Это, скорее всего, вопрос аутентификации. Вы должны добавить --verbose в команду установки, чтобы получить больше результатов. Вы должны увидеть эту строку на вашем консольном выходе при работе с подробными данными:

npm ERR! git clone [email protected]: gfarrell/state.js Разрешение отклонено (publickey).

Проверьте, если вы аутентифицируетесь Github с помощью следующей команды:

ssh -T [email protected] 

Когда вы идентифицируются правильно, вы должны увидеть следующий вывод:

Hi gfarrell! Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке.

Github имеет большое руководство по SSH keys, а также как решить common errors.

Исправьте аутентификацию Github и начните работу с npm.

+1

Я уже прошел проверку подлинности в Github (но проверен на всякий случай), так что это не проблема. Флаговый флаг не очень помогает, он идентифицирует git repo на github, но просто говорит мне «npm ERR! addLocal Не удалось установить gfarrell/state.js'. – GTF

0

У меня была аналогичная проблема. Поскольку последняя строка «ok» подробного вывода начиналась с «addRemoteGit», я проследил проблему до функции с именем addRemoteGit в исходном файле npmcache.js (в версии 1.4.9 он теперь перемещен в add-remote-git.js) , Добавив звонок к log.verbose(p), я узнал, что npm не смог написать ~/.npm/_git-remotes/.

В основном это была проблема разрешения: в моем каталоге ~/.npm содержались файлы & каталогов, принадлежащих root.Я решил проблему простым запуском:

sudo find ~/.npm -exec chown $USER:$USER {} \; 
Смежные вопросы