Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js npm开始在错误的目录中查找/bin/www,如何更新_Node.js_Npm - Fatal编程技术网

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

Node.js npm开始在错误的目录中查找/bin/www,如何更新,node.js,npm,Node.js,Npm,因此,我下面是一个personal/learning node.js项目,我想在GitHub中工作并存储该项目,最终将其安装到实时服务器或云主机上。它使用node.js、express、monk、mongoDB进行网站设置。然而,我有一个持续的错误,当我运行“npm start”时,我还没有找到答案 这是我在node express项目中尝试运行“npm start”时的命令窗口输出 我知道:错误:找不到模块“C:\Users\username\Desktop\bin\www”不是我的bin\w

因此,我下面是一个personal/learning 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有一个windows注册表项用于“自动运行”-“问题目录”设置,用于覆盖命令的默认开始目录。将其从注册表中删除并修复了该问题。感谢您帮助我调试此问题。

在使用express创建第一个节点项目时,我遇到了相同的错误。但是当我试着用

node ./bin/www              // it will work
而不是

npm start
服务器在端口3000启动。您可以在localhost:3000上检查您的应用程序。

也许它可以帮助其他人:)

在本教程之后,我遇到了同样的问题,只是在按照说明第一次关闭服务器之后。我尝试了很多东西,包括上面列出的和其他几个线程。然而,简单地删除或注释app.js中的以下内容就可以做到这一点:

//var mongo = require('mongodb')

Fwiw,我也有同样的错误,结果是端口3000上已经有东西在运行了。我提到这一点是因为调试日志没有提到这一点,只是一个与您类似的错误。因此,这可能会帮助那些遇到这篇文章并且碰巧遇到我所遇到的问题的人。

今天我遇到了这种情况,在看同一个教程时出现了同样的错误,但使用以下设置:

  • Ubuntu 14.04
  • npm v5.11.1
  • 节点v3.9.2
第一个意图是在网上搜索并找到这个页面,但无法解决所说的问题,但找到了一条线索

第二个目的是列出使用相同端口(3000)的应用程序:

sudo netstat -ep | grep 3000
但什么都没有

第三个意图是将“nodetest1/bin/www”文件中使用的端口号从3000更改为3001,这就成功了

var port = normalizePort(process.env.PORT || '3001');
从那里,我现在可以浏览,并继续学习教程

编辑:我发现我错误地使用了netstat,这显示了什么程序正在使用端口3000:

sudo netstat -epa | grep 3000
ntop正在使用它:

tcp        0      0 *:3000                  *:*                     ESCUCHAR    root       15508       2289/ntop
因此,在我的例子中,更改www文件上的nodetest1端口是唯一可行的解决方案


希望这对其他人有所帮助。

我也有同样的错误,所以我运行:

npm install
然后:

npm start

这对我很有用

在教程的app.js文件中,请确保按如下方式命名索引对象:

var index = require('./routes/index');
这将纠正错误

不管教程作者怎么说,如果该行内容为:

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

尝试将其更改为package.json中的“node bin/www”“start”:。此外,出于调试目的,请尝试将一个
“dir”:“dir”
放在它的正下方(不要忘记在上面添加一个逗号作为语法,它基本上是JSON),然后运行
npm dir
以显示它从哪个目录运行。我尝试更新包中的“start”,但它给出了相同的错误。对于“npm dir”命令,我是否需要安装另一个模块?它只是给出了npm命令帮助。首先,这里是
npm
包。json
“script”
元素的工作原理:您在其中放入一个
“alias”:“command”
在运行
npm alias
时执行“command”。这就是为什么我建议您放置
“dir”:“dir”
并运行
npm dir
。如果出现错误,您可能不在windows上,因为
dir
是windows命令。将其替换为
pwd
,这是用于查找当前目录的bash命令。进行此调试的原因是,您可以确切地知道从哪个目录执行
npm
。很抱歉,我不清楚,我添加了“dir”:“dir”按照指示运行了“npm dir”,但收到了“用户:npm where等…最后一行是npm@1.4.28c:\ProgramFiles\nodejs\node\u modules\npm我必须道歉,我对npm如何以这种方式工作的看法是不对的。忽略上面提到的
“dir”:“dir”
第一部分。相反,将start改为
“start”:“dir”
并运行
npm start
。这肯定会奏效。再次,非常抱歉错误信息:}不太详细…您在哪里找到注册表项?我在HKEY_CURRENT_USER\Software\Microsoft\Command Processor下的regedit中设置了自动运行,其值设置为导致我出现问题的目录。我最初是为了方便而设置的,这样命令提示符将查看我的默认项目目录,但看起来使用启动脚本这样做是更好的方法。真管用!!!!npm启动可能有什么问题。我的意思是为什么它不工作和节点。/bin/www工作???是我还是MongoDB的要求拼写错误,这意味着无法找到资源?
tcp        0      0 *:3000                  *:*                     ESCUCHAR    root       15508       2289/ntop
npm install
npm start
var index = require('./routes/index');
var index = require('./routes/routes');