Erreur: require.paths est supprimé. lors de l’exécution de node.js & socket.io

(javascript) Iv a eu une erreur d’exécution d’un exemple socket.io de github https://github.com/LearnBoost/socket.io.git

quand je lance -> noeud app.js il dit. Erreur: require.paths est supprimé. Utilisez les dossiers node_modules ou la variable d’environnement NODE_PATH à la place.

quelqu’un peut-il me dire ce qui ne va pas? cette erreur apparaît toujours dans tous les exemples de socket.io que j’ai essayés.

J’ai trouvé ce problème lorsque je travaillais avec un échantillon de fonderie de nuages . La ligne incriminée qu’ils vous ont dit d’inclure était la suivante:

require.paths.unshift('./node_modules') 

C’est apparemment une façon de dire au noeud quel chemin rechercher dans les modules dont vous avez require , dans les cas où vous ne fournissez pas de chemin explicite. J’ai lu quelque part que c’est lorsque la chaîne que vous passez ne commence pas par un point ou une barre oblique.

Autant que je sache, il est indispensable de faire en sorte que les applications Node 0.4 recherchent dans le répertoire node_modules. Mais dans le nœud 0.6, vous êtes censé régler cela avec les parameters de votre environnement et votre chemin d’access (bien que cela semble fonctionner par défaut pour moi sur une installation 0.6).

J’avais des problèmes parce que le déploiement du cloud était sur le noeud 0.4 et que ma configuration de développement local était sur le noeud 0.6. Avoir la ligne m’a écrasé localement, mais le laisser sortir s’est écrasé sur le nuage. Ma solution était de le supprimer et d’indiquer au nuage d’utiliser 0.6 avec:

 vmc push  --runtime=node06 

Tout semblait fonctionner après ça. Mieux encore : j’ai trouvé que vous pouviez éditer votre fichier manifest.yml pour lui dire de le faire automatiquement pendant l’application sans aucun commutateur de ligne de commande:

 --- applications: .: name: myapp runtime: node06 # added this line framework: name: node info: mem: 64M description: Node.js Application exec: n 

(etc.)

Incidemment … s’il avait été nécessaire de prendre en charge simultanément les anciennes versions de nœud nécessitant également require.paths, vous pourriez peut-être exécuter la ligne de manière conditionnelle en fonction de testing process.version :

http://nodejs.org/docs/v0.4.9/api/process.html#process.version

Peut-être que vous pouvez essayer https://github.com/cloudhead/less.js/issues/320 C’est quelque chose de similaire à votre problème.

essayez quelque chose comme ça:

 var dust = require('dustjs-helpers'); var comstackd = dust.comstack("Hello {name}!", "intro"); dust.loadSource(comstackd); dust.render("intro", { name: "Márcio" }, function(err, out) { console.log(out); });