NPM não instalando dependências?

8

Tendo problemas para fazer com que o NPM instale dependências com npm install -d no meu diretório de projeto com um arquivo package.json definido.

Este é o meu package.json : link

E depois de limpar a pasta de módulos de nó do meu projeto raiz ( rm -rf node_modules ), eu corro npm install -d no meu projeto raiz e sou saudado com isto:

(ssh) /vagrant git:master ❯ npm install -d                                                                                                                                                                  
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info preinstall [email protected]
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 [email protected]
npm info into /vagrant [email protected]
npm info into /vagrant [email protected]
npm info into /vagrant [email protected]
npm info installOne [email protected]
npm info installOne [email protected]
npm info installOne [email protected]
npm info installOne [email protected]
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 [email protected]
npm info unbuild /vagrant/node_modules/underscore
npm ERR! error rolling back [email protected] 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 [email protected]
npm info unbuild /vagrant/node_modules/request
npm ERR! error rolling back [email protected] 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

Se eu executar novamente o npm install -d , o erro muda para o próximo pacote ... se eu continuar rodando várias vezes, ele eventualmente não reclamará mais e exibirá:

(ssh) /vagrant git:master ❯ npm install -d                                                                                                                                                               
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info preinstall [email protected]
npm info build /vagrant
npm info linkStuff [email protected]
npm info install [email protected]
npm info postinstall [email protected]
npm info ok

No entanto, nenhuma das dependências de nenhum desses pacotes é instalada. Por exemplo, cheerio tem algumas dependências, por isso, quando tento executar meu conjunto de testes, sou recebido com:

(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)

O que dá? Estou no Ubuntu Precise64 em uma caixa virtual do Vagrant .

    
por neezer 08.07.2012 / 00:26

2 respostas

1

talvez Algo errado relacionado ao symlink no vagrant e esse problema: link

tente

npm install --no-bin-link

também explicado aqui: link

    
por 30.07.2013 / 16:22
0

Você já tentou npm cache clean ?

Eu estava tendo um bom tempo tentando instalar as dependências para Qunit no outro dia e foi devido a phantonjs não conseguir construir na primeira execução, mas quando fui reinstalar, o npm não estava refazendo os binários e apenas tentando construir a partir do cache. Depois de esvaziar o cache e executar novamente npm install , ele foi refetched e foi criado com sucesso.

    
por 11.07.2013 / 05:48