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.