web-dev-qa-db-ja.com

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:問題解決ありがとうございます!

6
Jordan Forbes

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の修正について明示的に説明します。

私が通常行うもう1つの便利なことは、ホームディレクトリにある.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
12
zero298

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を使用します。

5
Explosion Pills
npm install http-server -g.

http-serverをグローバルにインストールし、uがコマンドを実行できるようになってからインストールしてください

http-server -o
4
Lijo