Возникли проблемы с получением NPM для установки зависимостей npm install -d
в каталоге моего проекта с определенным package.json
файлом.
Вот мой package.json
: https://gist.github.com/3068312
И после очистки папки модулей узла корня моего проекта ( rm -rf node_modules
), я запускаю npm install -d
в своем корне проекта и приветствую это:
(ssh) /vagrant git:master ❯ npm install -d
npm info it worked if it ends with ok
npm info using npm@1.1.4
npm info using node@v0.6.12
npm info preinstall redeye@0.0.1
npm http GET https://registry.npmjs.org/sinon
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/mocha
npm http GET https://registry.npmjs.org/request
npm http 304 https://registry.npmjs.org/sinon
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/mocha
npm http 304 https://registry.npmjs.org/request
npm info into /vagrant underscore@1.3.3
npm info into /vagrant mocha@1.3.0
npm info into /vagrant sinon@1.3.4
npm info into /vagrant request@2.9.203
npm info installOne underscore@1.3.3
npm info installOne mocha@1.3.0
npm info installOne sinon@1.3.4
npm info installOne request@2.9.203
npm info unbuild /vagrant/node_modules/underscore
npm info unbuild /vagrant/node_modules/mocha
npm info unbuild /vagrant/node_modules/sinon
npm info unbuild /vagrant/node_modules/request
npm ERR! error installing underscore@1.3.3
npm info unbuild /vagrant/node_modules/underscore
npm ERR! error rolling back underscore@1.3.3 Error: UNKNOWN, unknown error '/vagrant/node_modules/underscore'
npm ERR! Error: ENOENT, no such file or directory '/vagrant/node_modules/underscore/package.json'
npm ERR! You may report this log at:
npm ERR! <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR! reportbug --attach /vagrant/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.2.0-23-generic
npm ERR! command "node" "/usr/bin/npm" "install" "-d"
npm ERR! cwd /vagrant
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! path /vagrant/node_modules/underscore/package.json
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory '/vagrant/node_modules/underscore/package.json'
npm ERR! errno {}
npm ERR! error installing request@2.9.203
npm info unbuild /vagrant/node_modules/request
npm ERR! error rolling back request@2.9.203 Error: UNKNOWN, unknown error '/vagrant/node_modules/request'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /vagrant/npm-debug.log
npm not ok
Если я перезапущусь npm install -d
, ошибка изменится на следующий пакет ... если я продолжу запускать его снова и снова, он, в конце концов, больше не будет жаловаться и выдает:
(ssh) /vagrant git:master ❯ npm install -d
npm info it worked if it ends with ok
npm info using npm@1.1.4
npm info using node@v0.6.12
npm info preinstall redeye@0.0.1
npm info build /vagrant
npm info linkStuff redeye@0.0.1
npm info install redeye@0.0.1
npm info postinstall redeye@0.0.1
npm info ok
Однако ни одна из зависимостей ни для одного из этих пакетов не установлена. Например, cheerio
имеет несколько зависимостей, поэтому, когда я пытаюсь запустить свой набор тестов, меня приветствуют:
(ssh) /vagrant git:master ❯ mocha --compilers coffee:coffee-script --watch spec/*
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'cheerio-select'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
Что дает? Я на Ubuntu Precise64 в виртуальной коробке Vagrant .
Ты пробовал
npm cache clean
?У меня была адская попытка установить зависимости для Qunit на днях, и это было из-за того, что phantonjs не удалось собрать при первом запуске, но когда я перешел на переустановку, npm не перезагружал двоичные файлы и просто пытался построить из кэшированных. После очистки кеша и повторного
npm install
запуска он заново их перекомпилировал и был успешно собран.источник