Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Can';t start foreman cos node.js抱怨它可以';找不到_Node.js_Foreman - Fatal编程技术网

Can';t start foreman cos node.js抱怨它可以';找不到

Can';t start foreman cos node.js抱怨它可以';找不到,node.js,foreman,Node.js,Foreman,试图让一个项目在我的debian虚拟机上运行,但foreman拒绝启动。node.js错误消息没有太大帮助,因为它甚至没有告诉我找不到哪个模块 sissi@debian:/media/fancystuff$ foreman start 22:05:33 web.1 | started with pid 2949 22:05:33 web.1 | 22:05:33 web.1 | module.js:337 22:05:33 web.1 | throw ne

试图让一个项目在我的debian虚拟机上运行,但foreman拒绝启动。node.js错误消息没有太大帮助,因为它甚至没有告诉我找不到哪个模块

sissi@debian:/media/fancystuff$ foreman start
22:05:33 web.1     | started with pid 2949
22:05:33 web.1     |
22:05:33 web.1     | module.js:337
22:05:33 web.1     |     throw new Error("Cannot find module '" + request + "'");
22:05:33 web.1     |           ^
'2:05:33 web.1     | Error: Cannot find module '/media/fancystuff/web.js
22:05:33 web.1     |     at Function._resolveFilename (module.js:337:11)
22:05:33 web.1     |     at Function._load (module.js:279:25)
22:05:33 web.1     |     at Array.0 (module.js:484:10)
22:05:33 web.1     |     at EventEmitter._tickCallback (node.js:190:38)
22:05:33 web.1     | process terminated
22:05:33 system    | sending SIGTERM to all processes
顺便说一句:无论web.js是否存在,或者它是否被删除,错误消息都是一样的……这只会增加我的困惑

顺便说一下2:“工头检查”给我“检测到有效的程序文件(web)”

叹息。

从这行开始:

'2:05:33 web.1     | Error: Cannot find module '/media/fancystuff/web.js
在调用
节点web.js的Procfile中,似乎有一个非打印字符位于行的末尾,因为放在模块名称字符串后面的
字符位于行的开头


编辑Procfile并确保该特殊字符已消失,您的问题可能会得到解决。我可以通过添加在Debian dev.服务器上复制这一点,最有可能的是
程序文件
是从附加回车符的不同操作系统复制的,例如与foreman不兼容的
\r\n
。只需删除Procfile中的尾随空格或字符,然后重新运行。或者最简单的方法是删除
Procfile
并使用相同的操作系统创建

示例文件:


web:node web.js

然后启动应用程序:


ubuntu@yadayada:~/heroku/web$foreman开始

无论web.js是否存在,错误都是一样的。web.js只是初始化项目所需的所有不同模块(redis、oauth……)随机猜测:这可能与项目位于不支持符号链接的已安装驱动器上有关吗?是的,是的;但在我看来,您的Procfile中似乎有问题,因为在错误日志中,行尾的字符跳到了行首。在eol之前的web.js之后,它是否会意外地出现在您的Procfile中?cool thx删除了Procfile末尾的am空行,问题就解决了!foreman仍然没有启动,但那是因为缺少其他东西,呵呵;)