Gulp komutu yüklemeden sonra bulunamadı


97

(Global olarak) yudum kurdum ve bu kodu çalıştırdığı için işe yarıyor gibi görünüyor:

├── tildify@0.2.0
├── interpret@0.3.5
├── pretty-hrtime@0.2.1
├── deprecated@0.0.1
├── archy@0.0.2
├── minimist@0.2.0
├── semver@2.3.2
├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
├── gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, dateformat@1.0.8-1.2.3, vinyl@0.2.3, through2@0.5.1, multipipe@0.1.1, lodash.template@2.4.1)
├── liftoff@0.12.0 (extend@1.2.1, minimist@0.1.0, resolve@0.7.4, findup-sync@0.1.3)
└── vinyl-fs@0.3.5 (graceful-fs@3.0.2, lodash@2.4.1, mkdirp@0.5.0, strip-bom@0.3.1, vinyl@0.2.3, through2@0.5.1, glob-watcher@0.0.6, glob-stream@3.1.14)

Ama yazdığımda gulpdiyor ki-bash: gulp: command not found

Neler olduğu hakkında bir fikrin var mı?


4
Bunu çözmek için yaptım sudo install gulp -g. işe yaradı
Mr_Green

10
Mr_Green kastettiği: sudo npm install gulp -g
jasonleonhard

Yanıtlar:


174

Npm'nin yanlış dizine kurulduğu ortaya çıktı, bu yüzden bu kodu çalıştırarak "npm yapılandırma önekini" değiştirmek zorunda kaldım:

npm config set prefix /usr/local

Sonra gulp'u global olarak yeniden yükledim (-g parametresi ile) ve düzgün çalıştı.

Bu makale, çözümü bulduğum yer: http://webbb.be/blog/command-not-found-node-npm


2
Teşekkürler!
isyan

2
İnanılmaz. Teşekkür ederim.
Andrew

2
Ayrıca çözüm bana yardımcı oldu
Sergey Andreev

2
Teşekkürler, bu işe yaradı. Çok garip. Macbook 1'e yükledim, çalışıyor, macbook 2 çalışmıyor, bu yüzden bunu yapmalıyım. Çılgın.
axelvnk

2
StackOverflow'un bunu neden ilk cevap olarak göstermediğini merak ediyorum! Açıkça doğru olanı.
Anand Sainath

59

Sorunun neden reddedildiğinden emin değilim, ancak aynı sorunu yaşadım ve blog gönderisini takip ederek sorunu çözmeyi önerdim. Eklemem gereken bir şey, benim durumumda, koştuğumda:

npm config set prefix /usr/local

Ben doğruladı npm root -gişaret edildi /usr/local/lib/node_modules/npm, ancak yüklemek için gulpde /usr/local/lib/node_modules, ben kullanmak zorunda kaldı sudo:

sudo npm install gulp -g


Bu çözümü arıyordum! TEŞEKKÜR EDERİM! Komut: npm config set prefix /usr/localÇÖZÜLEN sorun!
north.inhale

21

Kullanıyorsanız tcsh(Mac OS X'teki varsayılan kabuğumdur), muhtemelen rehashyükleme tamamlandıktan hemen sonra kabuğa yazmanız yeterlidir :

npm install -g gulp

hemen ardından:

rehash

Aksi takdirde, bu ilk kurulumunuzsa gulp, kabuğunuz yeni bir yürütülebilir dosyanın kurulduğunu fark etmeyebilir - bu nedenle ya yeni bir kabuk başlatmanız ya rehashda mevcut kabuğu yazmanız gerekir .

(Bu, temelde global olarak yüklediğiniz her komut için tek seferlik bir şeydir.)


17

Bunun eski bir konu olduğunun farkındayım, ancak Future-Me ve gelecek için, iki sentimi "sudo olarak çalışan npm" tartışmasının etrafına eklemem gerektiğini düşündüm. Sorumluluk reddi: Windows kullanmıyorum. Bu adımlar yalnızca Windows olmayan makinelerde hem sanal hem de fiziksel olarak kanıtlanmıştır.

İzni npm'nin varsayılan dizinine değiştirerek sudo kullanma ihtiyacını ortadan kaldırabilirsiniz.


Nasıl yapılır: npm olmadan çalıştırmak için izinleri değiştirme sudo

Adım 1: npm'nin varsayılan dizininin nerede olduğunu bulun.

  • Bunu yapmak için terminalinizi açın ve çalıştırın:
    npm config get prefix

Adım 2: Bu komutun çıktısına göre devam edin:

  • Senaryo Bir: npm'nin varsayılan dizini şudur /usr/local
    : Çoğu kullanıcı için çıktınız, npm'nin varsayılan dizininin / usr / local olduğunu gösterecektir, bu durumda dizinin izinlerini güncellemek için 4. adıma geçebilirsiniz.
  • Senaryo İki: npm'nin varsayılan dizini /usrveya /Users/YOURUSERNAME/node_modulesveya şudur : npm'nin varsayılan dizininin /Something/Else/FishyLooking
    / usr / local olmadığını, bunun yerine açıklayamayacağınız veya şüpheli göründüğünü fark ederseniz, npm için varsayılan dizini değiştirmek için 3. adıma gitmelisiniz, veya izinlerinizi çok daha büyük ölçekte bozma riskiyle karşı karşıya kalırsınız .

Adım 3: npm'nin varsayılan dizinini değiştirin:

  • Bunu yapmanın birkaç yolu var, özellikle genel kurulumlar için bir dizin oluşturmak ve sonra bu dizini $ PATH'ınıza eklemek de dahil, ancak / usr / local muhtemelen yolunuzda olduğundan, npm'leri değiştirmek daha kolay. varsayılan dizin buna. Şöyle: npm config set prefix /usr/local
    • Bahsettiğim diğer yaklaşımlara daha fazla bilgi için, npm dokümanlar bakınız burada .

Adım 4: npm'nin varsayılan dizinindeki izinleri güncelleyin:

  • Npm'nin varsayılan dizininin mantıklı bir konumda olduğunu doğruladıktan sonra, şu komutu kullanarak izinleri güncelleyebilirsiniz:
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

Artık npm <whatever>onsuz koşabilmelisin sudo. Not: Bu değişikliklerin etkili olması için terminalinizi yeniden başlatmanız gerekebilir.


7

Benzer bir sorun yaşadım, aşağıdaki adımları uyguladım ve işe yaradı. Mac terminaline gidin ve komutları yürütün,

1.npm yapılandırma kümesi öneki / usr / local

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

Bu iki komut npm yolunu doğru ayarlayacaktır ve artık npm'de sudo kullanmanız gerekmez. Sonra yudumu kaldır

  1. npm kaldırma gulp

  2. Sudo olmadan tekrar yudumlayın, npm install gulp -g

Bu çalışmalı!!


4

Yüklemeden sonra "komut bulunamadı" ile ilgili bu sorunu yaşadım, ancak yukarıdaki çözümde anlatıldığı gibi / usr / local içine yüklendim.

Sorunum, yüklemeyi sudo ile çalıştırmamdan kaynaklanıyor gibiydi. Ben aşağıdakileri yaptım.

  1. Sudo ile yudumun tekrar kaldırılması
  2. / Usr / local / lib / node_modules sahibini kullanıcım olarak değiştirme
  3. Sudo olmadan gulp yeniden yükleniyor. "npm install gulp -g"

1
Sudo ile yerel olarak herhangi bir şey yüklememe gerek kalmaması daha mantıklı görünüyor ve neden sudo kullanmaya ihtiyacım var - benim için sudo kullanmaya başladığımda, komut satırını sudo olarak çalıştırmadığınızda işler bozulur - gibi günlük geliştirici altında kullanıcı. Yolunuzun çok daha doğru olduğunu düşünme eğilimindeyim - sudo her zaman en iyi cevap değildir, ancak şu an için düzelmiş gibi görünmektedir.
indi

3

Bunu yapmalısın npm install --global gulp. Benim için çalışıyor ve ben de bu problemi yaşadım. Çünkü bu paketi global olarak kurmadınız.


3

Mac kullanıyorsanız, root ayrıcalığını kullanın

sudo npm install gulp-cli --global

Kurulu olup olmadığını kontrol etmek için

gulp -v

CLI sürümü: 2.2.0 (Çıktı)

Yerel sürüm: Bilinmiyor


1

Bunu, yukarıdan ve başka yerlerden gelen cevapların bir kombinasyonunu kullanarak Win10 üzerinde çalıştırdım. Başkaları ve gelecekteki ben için burada yayınlamak.

Buradaki talimatları izledim: https://gulpjs.com/docs/en/getting-started/quick-start ama gulp --version yazdıktan sonraki son adımda -bash: gulp: command not found

Bunu düzeltmek için:

  1. Path ortam değişkenime% AppData% \ npm ekledim
  2. Tüm gitbash (cmd, powershell, vb.) Kapatıldı ve gitbash yeniden başlatıldı.
  3. Sonra yudum - sürüm işe yaradı

Ayrıca, neden küresel olarak gulp yüklenmemesi ve nasıl kaldırılacağı için aşağıdakileri buldum (bunun tavsiye edilip edilmediğinden emin değilim):

gulp- "cli" ne anlama geliyor?

Gulp CLI'yi global olarak NPM'den nasıl kaldırabilirim?


0

Benim durumumda npm kurulumundan önce sudo eklemek çözüldü gulp komutu sorun bulunamadı

sudo npm install


0

Önekinizi olduğu gibi bırakmak istiyorsanız, bin dizinini PATH değişkeninize aktarmanız yeterlidir:
export PATH=$HOME/your-path/bin:$PATH
Bu satırı $ HOME / .profile dosyama ekledim ve kaynak yaptım.

Ön eki kullanmanıza /usr/localneden olacak şekilde ayarlamak sudo, kullanıcı klasörümde olmasını isterim. Ön ekinizi ile kontrol edebilirsiniz npm prefix -g.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.