web-dev-qa-db-fra.com

noeud. et npm start ne fonctionnent pas

Le titre dit la plupart du problème. Lorsque j'essaie d'exécuter node ., je reçois:

    module.js:340
    throw err;
          ^
Error: Cannot find module 'static-favicon'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3

Il semble n'y avoir aucun dossier de modules en réalité. Je cours juste express dans un répertoire vide

nPM fonctionne bien cependant. Ceci est avec une nouvelle installation express si cela compte. Toute aide serait géniale, merci!

les messages d'erreur complets:

 new-Host-2:~ Brennan$ cd Desktop/
new-Host-2:Desktop Brennan$ mkdir test4
new-Host-2:Desktop Brennan$ cd test4
new-Host-2:test4 Brennan$ express -e

   create : .
   create : ./package.json
   create : ./app.js
   create : ./public
   create : ./public/javascripts
   create : ./public/images
   create : ./public/stylesheets
   create : ./public/stylesheets/style.css
   create : ./routes
   create : ./routes/index.js
   create : ./routes/users.js
   create : ./views
   create : ./views/index.ejs
   create : ./views/error.ejs
   create : ./bin
   create : ./bin/www

   install dependencies:
     $ cd . && npm install

   run the app:
     $ DEBUG=test4 ./bin/www

new-Host-2:test4 Brennan$ node app.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'static-favicon'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/Brennan/Desktop/test4/app.js:3:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
new-Host-2:test4 Brennan$ npm start app.js
npm ERR! Error: ENOENT, open '/Users/Brennan/Desktop/test4/node_modules/app.js/package.json'
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 12.4.0
npm ERR! command "node" "/usr/local/bin/npm" "start" "app.js"
npm ERR! cwd /Users/Brennan/Desktop/test4
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.7
npm ERR! path /Users/Brennan/Desktop/test4/node_modules/app.js/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/Brennan/Desktop/test4/npm-debug.log
npm ERR! not ok code 0
new-Host-2:test4 Brennan$ forever app.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms

module.js:340
    throw err;
          ^
Error: Cannot find module 'static-favicon'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/Brennan/Desktop/test4/app.js:3:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
error: Forever detected script exited with code: 8
19
Bren

Après avoir utilisé le express-generator pour générer l’application de noeud, vous devez installer les dépendances du projet. Ceci se fait via:

$ npm install

Une fois que cela est fait, vous pouvez démarrer l'application en utilisant npm:

$ npm start

Par défaut, les applications générées express indiquent ceci comme commande start pour npm (vous pouvez l'afficher dans le fichier package.json):

"start": "node ./bin/www"

Donc, pour exécuter la même chose via la ligne de commande, exécutez:

$ node ./bin/www
34
dylants

J'ai eu le même problème après avoir exécuté le générateur express sur un répertoire non vide avec des modules de nœud déjà installés dans node_modules, en particulier exprimer. Classez simplement le dossier, réinstallez toutes vos dépendances et vous devriez être prêt à partir:

rm -rf ./node_modules
npm install
npm start

EDIT: J'annonce qu'à un certain stade du processus, j'ai installé serve-favicon et l'ai enregistré dans le package.json local. On dirait que le générateur express n'a pas réussi à ajouter cette dépendance. Donc:

npm install serve-favicon --save
npm start
8
Jan Michael Auer

étant donné un arbre dir comme:

myapp
 - lib
  - favicon.ico
 - app.js
 - package.json
 - node_modules (npm installs all modules in here)

si vous essayez d'accéder à favicon.ico dans votre app.js

var express = require('express'),
    fs = require('fs'); // this is for reading static files 

var favicon = require(fs.readFileSync('./lib/favicon.ico'));

le var pour favicon peut ne pas être ce que vous attendez. Le meilleur moyen de servir des fichiers statiques serait de configurer un répertoire statique avec une route afin que toute personne rencontrant cette route avec un paramètre obtienne ces fichiers: par exemple:

https://mynodeapp.com/static/images/{param}

où param serait le nom du fichier (ceci est un exemple utilisant Hapi - express a quelque chose de similaire pour servir des fichiers statiques)

1
Dan

Faites npmstart qui installe tous les modules requis pour votre projet 

0
santhosh

Utilisez serve-favicon au lieu de static-favicon . Vérifiez également que serve-favicon est installé correctement . Cd servant-favicon, vérifiez package.json, puis exécutez npm install pour que toutes les dépendances soient installées correctement.

0
user4447835