node.js - 找不到 http 服务器命令

标签 node.js httpserver

我正在尝试运行一个基本的 http 服务器来测试一些 html 文件,但我一直遇到同样的错误。

我做到了 sudo npm install -g http-server 很多次,但每次我都尝试

simple git:(master) http-server

我一直收到这个错误:

zsh:找不到命令:http-server

我尝试过其他变体,例如 http-server/8000,我尝试过使用不同的命令语法,但似乎没有任何效果。

我的 npm 版本是 5.5.1,我的 Node 版本是 8.3.0,我的操作系统是 Mac OSX Sierra v10.12.6

请告诉我您是否可以提供帮助,或者如果您发现我做错了什么只是我没有注意到。

edit: tiny update 我能够让服务器运行 python 但我真的很想知道为什么这不起作用。

编辑 2:问题已解决,谢谢!

最佳答案

PATH 中可能没有您的 npm 二进制文件。

通过运行 echo $PATH 确保您的 npm 二进制文件在路径中。您应该会在打印输出的某处看到类似以下内容:

/home/bob/.npm-packages/bin:/usr/lobal/bin:/other/paths/that/contain/bins

/home/bob/.npm-packages/bin 是我每次运行 npm -g install whatever 时安装我的 npm 二进制文件的目录。

如果您没有看到类似的内容,请阅读 Fixing npm permissions它将引导您确保您的环境设置正确。选项 2 明确讨论修复 PATH

我通常做的另一件方便的事情是将所有这些添加到您的主目录中的 .bashrc.bashprofile 中:

  • 在 macOS 上 /Users/username/
  • 在 *nix 上:/home/username/

.bashrc

NPM_PACKAGES="${HOME}/.npm-packages"
PATH="$NPM_PACKAGES/bin:$PATH"

但是,由于看起来您正在使用 zshell,因此您必须使用他们对 rc 文件遵循的任何约定。


您可以修复该问题,也可以在项目的包级别安装 http-server,然后通过 npm 命令启动它。

运行 npm install --save-dev http-server

并放入你的 package.json:

{
    "scripts": {
        "start": "http-server ."
    }
}

然后运行

npm start

关于node.js - 找不到 http 服务器命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46851400/

相关文章:

node.js - Knex.js 架构 : Multicolumn Index

http - 在 Go 中构建 URL,包括服务器方案

asynchronous - 现实世界中跨平台的分散式异步对等通信

java - c 中是否有类似于 Reflection API 的东西,并且注释在 java 中?

apache - .htaccess:此处不允许使用位置

node.js - React 前端 MLab 访问的安全性

javascript - 如何检查每个函数内的长度

javascript - ES2016 类,Sinon Stub 构造函数

mysql - Node.js脚本通过socket.io连接MySQL数据库

python - 在 python 中具有事件 TCP 连接的 HTTP 服务器