2015-08-05 1 views
6

J'ai un problème avec un projet où nous utilisons le nœud et le brunch. Le problème est actuel spécifique au brunch, mais pourrait se produire pour n'importe quel module serait ma conjecture.L'installation de npm échoue parce que le paquet est absent du registre

La meilleure façon de reproduire actuellement ce, est de faire ce qui suit dans un nouveau dossier:

npm init 
npm install --save-dev brunch 

Le problème ici est que le brunch dépend Loggy, qui à son tour dépend de ansi couleurs, qui ne a plus d'une entrée dans le npmregistry:

https://registry.npmjs.org/ansi-color

Je pense que cela pourrait être le projet github: https://github.com/loopj/commonjs-ansi-color

Dans tous les cas, je ne peux pas continuer, et toutes nos constructions échouent parce qu'elles ne sont pas capables de récupérer la dépendance donnée.

Je pourrais peut-être utiliser nink shrinkwrap d'une manière ou d'une autre, mais cela dépend des modules déjà existants dans node_modules, ce qui me manque actuellement.

Alors, comment puis-je forcer npm à utiliser la couleur d'un autre emplacement ou ignorer la dépendance?

Répondre

2

Vous ne savez pas à propos de npm 2 mais vous pouvez résoudre ce problème avec beta npm 3. npm 3 a un répertoire node_modules plat. Donc les sous-modules peuvent s'asseoir au plus haut niveau. Lire le Changelog.

Les modules manquants peuvent être installés directement à partir de leur référentiel Github en tant que dépendance de premier niveau dans votre projet. Si npm trouve le module avec la même version dans le répertoire node_modules, il ne le recherchera plus dans le registre.

Installer NPM 3:

npm install -g [email protected] 

Ensuite, installez depencies:

//install missing module from other location 
npm install https://github.com/loopj/commonjs-ansi-color.git --save-dev 
npm install --save-dev brunch