代码之家  ›  专栏  ›  技术社区  ›  Jordan Forbes

未找到http服务器命令

  •  13
  • Jordan Forbes  · 技术社区  · 7 年前

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

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

    simple git:(master) http-server
    

    我一直遇到这个错误:

    zsh: command not found: http-server

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

    如果你能帮我,或者如果你看到我做错了什么,我只是没有注意到,请告诉我。

    编辑:微小的更新,我能够让一个服务器与python,但我真的想知道为什么这是不工作。

    编辑2:问题解决谢谢!

    4 回复  |  直到 7 年前
        1
  •  20
  •   zero298    7 年前

    您可能没有npm二进制文件 PATH .

    通过运行确保您的npm二进制文件在path中 echo $PATH . 您应该看到,在打印输出的某处,类似于:

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

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

    如果你没有看到这样的东西,请阅读 Fixing npm permissions 路径

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

    • /Users/username/
    • 在*尼克斯: /home/username/

    .bashrc公司

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

    然而,因为看起来您正在使用zshell,所以您必须使用它们对rc文件遵循的任何约定。


    您可以修复这个问题,也可以在项目的包级别安装http服务器,然后通过npm命令启动它。

    npm install --save-dev http-server

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

    然后运行

    npm start
    
        2
  •  11
  •   Lijo    5 年前
    npm install http-server -g.
    

    http-server -o
    
        3
  •  6
  •   Explosion Pills    7 年前

    如果你这样做了 sudo npm install -g 而你没有 npm 可能 安装在 /usr/local/bin $PATH ,因此您应该找出它的安装位置,然后更新您的 $PATH路径 包括它。

    我强烈建议你避免跑步 sudo prefix 在您的npm配置中(或在中手动更新 ~/.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 .

        4
  •  1
  •   INDRAJITH EKANAYAKE    4 年前

    如果您在这里是因为您想在本地测试您的Angular PWA项目,那么您需要使用全局安装http服务器包 npm install --global http-server 然后只有你才能跑 http-server