Node.js npm开始在错误的目录中查找/bin/www,如何更新
因此,我下面是一个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项目内)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
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
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');