recherche

Maison  >  Questions et réponses  >  le corps du texte

Node.js使用supervisor遭遇‘supervisor’不是内部或外部命令,如果解决?

【参考做法】——【nodejs之supervisor】

  如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你 在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止 Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚 本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚本(如 果没有专门的优化配置)。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因 为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。

supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。 使用方法很简单,首先使用 npm 安装 supervisor:

$ npm install -g supervisor

如果你使用的是 Linux 或 Mac,直接键入上面的命令很可能会有权限错误。原因是 npm 需要把 supervisor 安装到系统目录,需要管理员授权,可以使用 sudo npm install -g supervisor 命令来安装。

接下来,使用 supervisor 命令启动 app.js: $ supervisor app.js

DEBUG: Running node-supervisor with
DEBUG:   program 'app.js'
DEBUG:   --watch '.'
DEBUG:   --extensions 'node|js'
DEBUG:   --exec 'node'
DEBUG: Starting child process with 'node app.js'
DEBUG: Watching directory '/home/byvoid/.' for changes. HTTP server is listening at port 3000.

当代码被改动时,运行的脚本会被终止,然后重新启动。在终端中显示的结果如下:

DEBUG: crashing child
DEBUG: Starting child process with 'node app.js'
HTTP server is listening at port 3000.

supervisor 这个小工具可以解决开发中的调试问题。

【现实结果】

$ supervisor app.js 

之后出现的是

'supervisor'不是内部或外部命令,也不是可运行的程序或批处理文件。  

求教怎么解决?

高洛峰高洛峰2782 Il y a quelques jours598

répondre à tous(5)je répondrai

  • 怪我咯

    怪我咯2017-04-17 11:01:32

    校园网坑人,用CMCC-EDU连上后就没问题了。。。晕死。。。

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 11:01:32

    自问自答真给力{害羞的表情}

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 11:01:32

    感谢提供 nodejs之supervisor, 最近试用nodejs, 这个确实很方便调试

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 11:01:32

    现在改成了 npm -g install supervisor

    répondre
    0
  • 高洛峰

    高洛峰2017-04-17 11:01:32

    必须要全局安装才可以

    répondre
    0
  • Annulerrépondre