gpt4 book ai didi

windows - "No Processes Defined"来自工头检查一个简单的 node.js Procfile

转载 作者:可可西里 更新时间:2023-11-01 09:25:35 27 4
gpt4 key购买 nike

使用这个示例 procfile:

web: node app.js

运行命令时出现错误

foreman check

我得到的错误是:

ERROR: no processes defined

不确定这是否重要,但我在 Windows 8 上运行它。该应用程序在我的本地机器上连续运行:

node app.js

最佳答案

不幸的是,工头does not run on Windows . ddollar 启动了另一个项目,foreman-windows ,尝试添加 Windows 支持,但我不知道它是否完全启动。

如果您想要一个帮助任务来在本地启动您的 Node 环境,请编写您自己的 cake任务很好,尽管是手动的,替代方案:

{spawn, exec} = require 'child_process'

task 'start', 'Spin up dev environment', ->
exec 'node app.js'

然后您将在命令行中执行任务:

cake start

这为您带来了额外的好处,即为各种操作创建多个任务,并微调任务以满足您的项目需求。

请注意,Windows 喜欢在涉及某些命令时进行切换。例如,在基于 *nix 的机器上,您可以使用以下命令在浏览器中打开您的站点:

exec "open http://localhost:3000/"

但在 Windows 上,它是 start:

exec "start http://localhost:3000/"

另一个重要区别是处理环境变量。在 *nix 上,您可以简单地将它们添加到您的命令中:

exec "NODE_ENV=staging node server.js"

但是如果您尝试在 Windows 上通过 exec 使用该格式,它将失败。相反,产生一个新的 bash:

terminal = spawn 'bash'
terminal.stdin.write "NODE_ENV=staging node server.js"
terminal.stdin.end()

你也可以从 bash 中监听事件:

terminal.stdout.on 'data', (data) ->
console.log "#{data}"
terminal.stderr.on 'data', (data) ->
console.log "#{data}"

如果您正在编写必须支持多个平台的工具,您可以相对轻松地进行操作系统平台检查以进行调整:

os = require 'os'

if os.platform() is 'win32'
<do Windows stuff>

关于windows - "No Processes Defined"来自工头检查一个简单的 node.js Procfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12079356/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com