web-dev-qa-db-ja.com

インストール後にGulpコマンドが見つかりません

90
iluvpinkerton

Npmが間違ったディレクトリにインストールされたため、次のコードを実行して「npm config prefix」を変更する必要がありました。

npm config set prefix /usr/local

次に、gulpを(-gパラメーターを使用して)グローバルに再インストールしましたが、正常に機能しました。

この記事は、私が解決策を見つけた場所です。 http://webbb.be/blog/command-not-found-node-npm

160
iluvpinkerton

質問がなぜ投票されたのかはわかりませんが、同じ問題があり、ブログの投稿に従って問題を解決することをお勧めします。私が追加すべきことの1つは、私の場合、実行した後です:

npm config set prefix /usr/local

npm root -g/usr/local/lib/node_modules/npmを指していることを確認しましたが、/usr/local/lib/node_modulesgulpをインストールするには、Sudoを使用する必要がありました。

Sudo npm install gulp -g

53
thehme

tcsh(Mac OS Xでのデフォルトのシェル)を使用している場合は、おそらくインストールが完了した直後にシェルにrehashと入力する必要があります。

npm install -g gulp

すぐに続く:

rehash

そうでない場合、gulpを初めてインストールする場合、シェルは新しい実行可能ファイルがインストールされていることを認識しない可能性があります。そのため、新しいシェルを起動するか、現在のシェルでrehashと入力する必要があります。

(これは基本的に、グローバルにインストールするコマンドごとに1回限りです。)

21
Steve Goldberg

これは古いスレッドであることに気づきましたが、Future-Meおよび後世のために、「nudoをSudoとして実行する」ディスカッションに2セントを追加する必要があると考えました。 免責事項:Windowsは使用していません。これらの手順は、仮想マシンと物理マシンの両方の非Windowsマシンでのみ実証されています。

パーミッションをnpmのデフォルトディレクトリに変更することにより、Sudoを使用する必要を回避できます。


方法:Sudoなしでnpmを実行するためにアクセス許可を変更する

ステップ1:npmのデフォルトディレクトリの場所を確認します。

  • これを行うには、ターミナルを開いて実行します:
    npm config get prefix

ステップ2:そのコマンドの出力に基づいて続行します。

  • シナリオ1:npmのデフォルトディレクトリは/usr/localです
    ほとんどのユーザーの出力では、npmのデフォルトディレクトリが/ usr/localであることが示されます。この場合、手順4に進んでディレクトリの権限を更新できます。
  • シナリオ2:npmのデフォルトディレクトリは/usrまたは/Users/YOURUSERNAME/node_modulesまたは/Something/Else/FishyLookingです
    npmのデフォルトディレクトリが/ usr/localではなく、説明できない、または怪しげに見える場合は、手順3に進んでnpmのデフォルトディレクトリを変更し、または許可を台無しにするリスクがありますより大きなスケールで。

ステップ3:npmのデフォルトディレクトリを変更します。

  • これを行うには、グローバルインストール専用のディレクトリを作成し、そのディレクトリを$ PATHに追加するなど、いくつかの方法がありますが、おそらく/ usr/localが既にパスにあるので、npmの値を変更する方が簡単だと思いますデフォルトのディレクトリ。そのように:npm config set prefix /usr/local
    • 私が言及した他のアプローチの詳細については、npm docs here を参照してください。

ステップ4:npmのデフォルトディレクトリの権限を更新します。

  • Npmのデフォルトディレクトリが適切な場所にあることを確認したら、次のコマンドを使用してそのディレクトリのアクセス許可を更新できます。
    Sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

これで、Sudoなしでnpm <whatever>を実行できるはずです。 注:これらの変更を有効にするには、ターミナルの再起動が必要になる場合があります。

16
sgray

私は次の手順を実行して同様の問題がありましたが、それは機能しました。

1.npm config set prefix/usr/local

2. sudo chown -R $(whoami)$(npm config get prefix)/ {lib/node_modules、bin、share}

この2つのコマンドはnpmパスを正しく設定し、npmでSudoを使用する必要がなくなります。次にgulpをアンインストールします

  1. npmアンインストールgulp

  2. Sudoなしで再度gulpをインストール、npm install gulp -g

これは動作するはずです!!

5
Atul Kumar

インストール後に「コマンドが見つかりません」という問題が発生しましたが、上記のソリューションで説明したように/ usr/localにインストールされました。

私の問題は、Sudoを使用してインストールを実行したことが原因のようです。私は次のことをしました。

  1. Sudoで再度gulpを削除する
  2. / usr/local/lib/node_modulesの所有者をユーザーに変更する
  3. Sudoを使用せずにgulpを再度インストールします。 「npm install gulp -g」
4
Zack Huston

これを行う必要がありますnpm install --global gulp。それは私のために機能し、私もこの問題を抱えていました。これは、このパッケージをグローバルにインストールしなかったためです。

3
Sergey Andreev

私の場合、npm installの前にSudoを追加すると、gulpコマンドが見つかりません問題

Sudo npm install

0
Balram Singh

プレフィックスをそのまま残したい場合は、bin dirをPATH変数にエクスポートするだけです:
export PATH=$HOME/your-path/bin:$PATH
この行を$ HOME/.profileに追加し、入手しました。

プレフィックスを/usr/localに設定すると、Sudoが使用されるため、ユーザーディレクトリに含める必要があります。プレフィックスはnpm prefix -gで確認できます。

0
Altair

上記および他の場所からの回答の組み合わせを使用して、Win10でこれを動作させました。他の人と将来の私のためにここに投稿しています。

ここからの指示に従いました: https://gulpjs.com/docs/en/getting-started/quick-start しかし、最後のステップgulp --versionと入力すると、メッセージが表示されます-bash:gulp:command not found

これを修正するには:

  1. Path環境変数に%AppData%\ npmを追加しました
  2. すべてのgitbash(cmd、powershellなど)を閉じて、gitbashを再起動しました。
  3. その後、gulp --versionが機能しました

また、gulpをグローバルにインストールしない理由とそれを削除する理由のために以下を見つけました(ただし、これが推奨されるかどうかはわかりません):

gulp- "cli"は何を表しますか?

NPMからGulp CLIをグローバルにアンインストールする方法は?

0
Tony Lisanti