【问题标题】:AWS EC2, NodeJS - cannot find moduleAWS EC2,NodeJS - 找不到模块
【发布时间】:2014-10-28 21:09:53
【问题描述】:

我已在 AWS EC2 上成功安装并运行 NodeJS。我使用脚本自动启动它。它也可以正常工作。 现在我想安装同一个应用程序的另一个实例 - 在单独的文件夹下并监听不同的端口。 第二次安装后,我有两个单独的节点项目: - /var/nodes/fc-dev - 开发节点和 - /var/nodes/fc-prod - 生产节点 我还为生产模块创建了单独的脚本 - /etc/init/fc-prod.conf 这是/etc/init/fc-dev.conf 脚本: # 将日志保存到 /var/log/upstart/fc-dev.log 控制台日志

# Starts only after drives are mounted.
start on started mountall

stop on shutdown

# Automatically Respawn. But fail permanently if it respawns 10 times in 5 seconds:
respawn
respawn limit 10 5

script
   exec sudo NODE_ENV=development /usr/bin/node --debug /var/nodes/fc-dev/fc-server.js
end script

这里是/etc/init/fc-prod.conf文件:

# Saves log to /var/log/upstart/fc-dev.log
console log

# Starts only after drives are mounted.
start on started mountall

stop on shutdown

# Automatically Respawn. But fail permanently if it respawns 10 times in 5 seconds:
respawn
respawn limit 10 5

script
   exec sudo NODE_ENV=production /usr/bin/node /var/nodes/fc-prod/fc-server.js
end script

我通过sudo start fc-dev成功启动了开发项目,但是当我输入sudo start fc-prod时,出现以下错误:

module.js:340
    throw err;
          ^
'rror: Cannot find module '/var/nodes/fc-prod/fc-server.js
    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

另一方面,输入sudo NODE_ENV=production /usr/bin/node /var/nodes/fc-prod/fc-server.js 允许我启动生产节点。 我做错了什么?

【问题讨论】:

    标签: node.js ubuntu amazon-ec2


    【解决方案1】:

    经过额外的尝试和失败后,我解决了以下问题: sudo cp fc-dev.conf fc-prod.cp sudo nano fc-prod.conf - 并编辑文件删除调试相关参数并将目标文件夹更改为生产文件夹。我还比较了生产配置文件的两个文件版本,我得到的唯一区别是一些特殊字符 - LFCRLF 希望这对将来的人有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-07-08
      • 2017-12-16
      • 2014-01-29
      • 1970-01-01
      • 2022-11-24
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多