找不到 http 服务器命令
http-server command not found
我正在尝试 运行 一个基本的 http 服务器来测试一些 html 文件,但我一直 运行 遇到同样的错误。
我做到了
sudo npm install -g http-server
很多次,但每次我都尝试
simple git:(master) http-server
我不断收到此错误:
zsh: command not found: http-server
我尝试过其他变体,例如 http-server / 8000,我尝试过使用不同的命令语法,但似乎没有任何效果。
我的 npm 版本是 5.5.1,我的节点版本是 8.3.0,我的 OS 是 Mac OSX Sierra v10.12.6
请告诉我您是否可以提供帮助,或者如果您发现我做错了什么只是我没有注意到。
编辑:小更新 我能够让服务器与 python 一起运行,但我真的很想知道为什么这不起作用。
编辑 2:问题已解决,谢谢!
您可能没有 PATH
中的 npm 二进制文件。
通过 运行ning 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
如果您 sudo npm install -g
并且没有设置 npm
前缀,则文件 可能 安装在 /usr/local/bin
中,但它可以或多或少地安装在任何地方。无论它被安装到哪个目录,都可能不在您的 $PATH
中,因此您应该弄清楚它的安装位置,然后更新您的 $PATH
以包含它。
我强烈建议您避免使用 npm 避免 运行ning sudo
。相反,您可以在 npm 配置中更新 prefix
(或在 ~/.npmrc
中手动更新为 prefix=~/.npm
之类的内容,但这取决于您。然后您还必须确保 ~/.npm/bin
就在你的路上。
尽管全局包有时很方便,但如果它们与特定项目相关联,我认为最好将其作为项目的一部分安装并 运行 在那里:
cd /path/to/project/with/http-server
npm install http-server
# any of:
npx http-server
node_modules/.bin/http-server
此外,如果您有 package.json#scripts
,您可以引用任何本地安装的二进制文件,如:
"scripts": {
"server": "http-server"
}
然后使用npm run server
.
npm install http-server -g.
请全局安装 http-server,之后你可以 运行 命令
http-server -o
如果你来这里是因为你想在本地测试你的 Angular PWA 项目,你需要使用 npm install --global http-server
在全局安装 http-server 包,然后只有你可以 运行 http-server
我正在尝试 运行 一个基本的 http 服务器来测试一些 html 文件,但我一直 运行 遇到同样的错误。
我做到了
sudo npm install -g http-server
很多次,但每次我都尝试
simple git:(master) http-server
我不断收到此错误:
zsh: command not found: http-server
我尝试过其他变体,例如 http-server / 8000,我尝试过使用不同的命令语法,但似乎没有任何效果。
我的 npm 版本是 5.5.1,我的节点版本是 8.3.0,我的 OS 是 Mac OSX Sierra v10.12.6
请告诉我您是否可以提供帮助,或者如果您发现我做错了什么只是我没有注意到。
编辑:小更新 我能够让服务器与 python 一起运行,但我真的很想知道为什么这不起作用。
编辑 2:问题已解决,谢谢!
您可能没有 PATH
中的 npm 二进制文件。
通过 运行ning 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
.
如果您没有看到类似的内容,请阅读 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
如果您 sudo npm install -g
并且没有设置 npm
前缀,则文件 可能 安装在 /usr/local/bin
中,但它可以或多或少地安装在任何地方。无论它被安装到哪个目录,都可能不在您的 $PATH
中,因此您应该弄清楚它的安装位置,然后更新您的 $PATH
以包含它。
我强烈建议您避免使用 npm 避免 运行ning sudo
。相反,您可以在 npm 配置中更新 prefix
(或在 ~/.npmrc
中手动更新为 prefix=~/.npm
之类的内容,但这取决于您。然后您还必须确保 ~/.npm/bin
就在你的路上。
尽管全局包有时很方便,但如果它们与特定项目相关联,我认为最好将其作为项目的一部分安装并 运行 在那里:
cd /path/to/project/with/http-server
npm install http-server
# any of:
npx http-server
node_modules/.bin/http-server
此外,如果您有 package.json#scripts
,您可以引用任何本地安装的二进制文件,如:
"scripts": {
"server": "http-server"
}
然后使用npm run server
.
npm install http-server -g.
请全局安装 http-server,之后你可以 运行 命令
http-server -o
如果你来这里是因为你想在本地测试你的 Angular PWA 项目,你需要使用 npm install --global http-server
在全局安装 http-server 包,然后只有你可以 运行 http-server