我正在尝试运行一个基本的 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/