我试图运行一个基本的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,我的操作系统是MacOSX塞拉利昂10.12.6
请告诉我,如果你能帮上忙,或者你看到我做错了什么,我只是没有注意到。
编辑:微小的更新,我能够让服务器运行与python,但我真的很想知道为什么这不工作。
编辑2:问题解决了,谢谢!
发布于 2017-10-20 14:35:57
您可能在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二进制文件的目录。
如果您没有看到类似的内容,请阅读修正npm权限,它将引导您确保您的环境设置正确。选项2显式地讨论了如何修复PATH。
我通常做的另一件方便的事情是将所有这些添加到我的.bashrc或.bashprofile中,它们位于您的主目录中:
/Users/username//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发布于 2019-04-26 13:54:21
npm install http-server -g.请全局安装http-server,并在您可以运行命令后安装
http-server -o发布于 2017-10-20 14:43:36
如果您使用sudo npm install -g,并且没有设置npm前缀,那么该文件可能安装在/usr/local/bin中,但它可以或多或少地安装在任何地方。无论安装到哪个目录,它都可能不在您的$PATH中,所以您应该找出它的安装位置,然后更新您的$PATH以包含它。
我强烈建议您避免使用npm运行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。
https://stackoverflow.com/questions/46851400
复制相似问题