npm开始在错误的目录中查找/ bin/www,如何更新

sub*_*h42 5 node.js npm

所以我在这里遵循本教程以获得一个个人/学习node.js项目,我想在GitHub上工作并存储并最终放到实时服务器或云托管上.它使用node.js,express,monk,mongoDB进行网站设置.但是我有一个持续的错误,当我运行'npm start'时,我没有找到答案.

当我尝试在我的node express项目中运行'npm start'时,这是我的命令窗口输出.

我知道:错误:找不到模块'C:\ Users\username\Desktop\bin\www'不在我的bin\www所在的位置(它在nodetest1项目中).

C:\ Users\username\Documents\GitHub\TEDResources \node.js \nodetest1 < - 正确的路径

那么,为什么npm会查看错误的位置,如何更新它以正确查看我的项目文件夹?我搜索过我的系统,无法在任何地方找到module.js.(使用Windows 7 x64)我也试过nuking node.js并表达并从头开始没有运气.

//控制台错误输出

Microsoft Windows [版本6.1.7601]版权所有(c)2009 Microsoft Corporation.版权所有.C:\ Users\username\Documents\GitHub\TEDResources \node.js \nodetest1> npm start

> nodetest1@0.0.0 start C:\Users\username\Documents\GitHub\TEDResources\node.j
s\nodetest1

> node ./bin/www
module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\Users\username\Desktop\bin\www'
    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:906:3

npm ERR! nodetest1@0.0.0 start: `node ./bin/www`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the nodetest1@0.0.0 start script.
npm ERR! This is most likely a problem with the nodetest1 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./bin/www
npm ERR! You can get their info via:
npm ERR!     npm owner ls nodetest1
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! cwd C:\Users\username\Documents\GitHub\TEDResources\node.js\nodetest1

npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\username\Documents\GitHub\TEDResources\node.js\nodetest1
\npm-debug.log
npm ERR! not ok code 0
Run Code Online (Sandbox Code Playgroud)

//npm-debug.log

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'start' ]
2 info using npm@1.4.28
3 info using node@v0.10.32
4 verbose node symlink C:\Program Files\nodejs\\node.exe
5 verbose run-script [ 'prestart', 'start', 'poststart' ]
6 info prestart nodetest1@0.0.0
7 info start nodetest1@0.0.0
8 verbose unsafe-perm in lifecycle true
9 info nodetest1@0.0.0 Failed to exec start script
10 error nodetest1@0.0.0 start: `node ./bin/www`
10 error Exit status 8
11 error Failed at the nodetest1@0.0.0 start script.
11 error This is most likely a problem with the nodetest1 package,
11 error not with npm itself.
11 error Tell the author that this fails on your system:
11 error     node ./bin/www
11 error You can get their info via:
11 error     npm owner ls nodetest1
11 error There is likely additional logging output above.
12 error System Windows_NT 6.1.7601
13 error command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
14 error cwd C:\Users\kellington\Documents\GitHub\TEDResources\node.js\nodetest1
15 error node -v v0.10.32
16 error npm -v 1.4.28
17 error code ELIFECYCLE
18 verbose exit [ 1, true ]
Run Code Online (Sandbox Code Playgroud)

//package.json

{
  "name": "nodetest1",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "express": "~4.9.0",
    "body-parser": "~1.8.1",
    "cookie-parser": "~1.3.3",
    "morgan": "~1.3.0",
    "serve-favicon": "~2.1.3",
    "debug": "~2.0.0",
    "jade": "~1.6.0", 
    "mongodb": "*",
    "monk": "*"
  }
}
Run Code Online (Sandbox Code Playgroud)

//app.js

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var routes = require('./routes/index');
var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', routes);
app.use('/users', users);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
});

// error handlers

// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
    app.use(function(err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
            message: err.message,
            error: err
        });
    });
}

// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
        message: err.message,
        error: {}
    });
});


module.exports = app;

Microsoft Windows [Version 6.1.7601]
Run Code Online (Sandbox Code Playgroud)

版权所有(c)2009 Microsoft Corporation.版权所有.

//目录结果

> nodetest1@0.0.0 start C:\Users\username\Documents\GitHub\TEDResources\node.j
s\nodetest1
> dir

 Volume in drive C is OS
 Volume Serial Number is F87D-8771

 Directory of C:\Users\username\Desktop

10/23/2014  11:13 AM    <DIR>          .
10/23/2014  11:13 AM    <DIR>          ..
10/13/2014  09:14 AM           146,016 7f6bd778-1c67-43fd-9865-372789ed7592_Loca
lIISWebsite.zip
10/07/2014  03:39 PM             1,086 Blue Eye Macro.lnk
08/28/2014  12:07 PM             1,197 DesignEphiphany.txt
10/22/2014  08:03 AM             2,163 Git Shell.lnk
04/17/2014  10:51 AM               308 GitHub.appref-ms
10/21/2014  10:54 AM    <DIR>          LocalIISWebsite
10/23/2014  11:11 AM    <DIR>          node.js
10/14/2014  10:07 AM    <DIR>          TextDocs

               7 File(s)      1,704,717 bytes
               8 Dir(s)  352,881,205,248 bytes free
Run Code Online (Sandbox Code Playgroud)

far*_*don 10

当我使用express创建第一个节点项目时,我遇到了同样的错误.但是当我尝试使用它时

node ./bin/www              // it will work
Run Code Online (Sandbox Code Playgroud)

代替

npm start
Run Code Online (Sandbox Code Playgroud)

服务器在端口3000处启动.您可以在localhost:3000上检查您的应用程序.
可能它可以帮助其他人:)


sub*_*h42 2

有一个用于“自动运行”的 Windows 注册表项 - “问题目录”设置用于覆盖命令的默认启动目录。将其从注册表中删除并解决了问题。感谢 laggingreflex 帮助我调试这个问题。