Npm install -g gulp yüklendikten sonra bile yerel yutkunma yüklemesi bulunamadı


88

Gulp yüklemeyi denedim

npm install -g gulp

Çıktı böyle bir şey gibi görünüyor. (bazı günlükleri atladım)

npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/lodash._htmlescapes
/usr/bin/gulp -> /usr/lib/node_modules/gulp/bin/gulp.js
gulp@3.6.2 /usr/lib/node_modules/gulp
├── tildify@0.2.0
├── pretty-hrtime@0.2.1
├── deprecated@0.0.1
├── archy@0.0.2
├── semver@2.2.1
├── chalk@0.4.0 (has-color@0.1.7, ansi-styles@1.0.0, strip-ansi@0.1.1)
├── orchestrator@0.3.3 (sequencify@0.0.7)
├── liftoff@0.9.8 (extend@1.2.1, minimist@0.0.8, resolve@0.6.3, findup-sync@0.1.3)
├── vinyl-fs@0.1.4 (graceful-fs@2.0.3, map-stream@0.1.0, mkdirp@0.3.5, vinyl@0.2.3, glob-stream@3.1.9, glob-watcher@0.0.6)
└── gulp-util@2.2.14 (lodash._reinterpolate@2.4.1, dateformat@1.0.7-1.2.3, minimist@0.0.8, vinyl@0.2.3, multipipe@0.0.2, through2@0.4.1, lodash.template@2.4.1)

Yukarıdaki komut dosyasında bir / usr / bin / gulp -> /usr/lib/node_modules/gulp/bin/gulp.js satırını görebiliyorum ki bu sanırım bin klasöründe bir simulink yapıyor. Bu yüzden küresel olarak yudum almalıyım ama bu hatayı alıyorum.

No local gulp install found in /var/www/ksapp

Bu hatayı neden aldığım konusunda herhangi bir fikriniz var.

Teşekkürler

Yanıtlar:


103

Doc belirttiği gibi , global olarak yüklemek (bunu yaptı) olmalıdır ve proje dev-PS (yerel) ekleyin:

npm install gulp --save-dev

1
Gulp'un düğüm dosyalarını proje yerel klasörüne kopyalamama olasılığı var mı? Gulp'in global olarak kurulmasıyla, bu komut anladığım kadarıyla yerel bir kopyasını yapıyor.
Vladislav Rastrusny

Buradaki önemli nokta, yerel kurulumun, sistem kurulumlarınız yükseltilse bile proje yapınızın bozulmayacağını garanti etmesidir (global gulp kurulumu, yolda bir ikili komut sağlamak için oradadır). Homurdanma için de durum aynı.
Mangled Deutz

12
Ben de her proje klasöründeki düğüm modüllerinin tam kopyalarından nefret ediyorum, bu yüzden düzenli olaraknpm link gulp --save-dev
PA kullanıyorum.

1
Güzel, ama npm link gulp --save-devbunun --save-devparametreye saygı duyduğunu göremiyorum .
Derek Greer

2
@PA, diğer cevaplarla ilgili yorumları tekrarlamak npm link gulpkötü bir fikir.
sfarbota

35

Ben de aynı sorunla karşılaştım. Bir bağlantı oluşturarak çözüldü

npm link gulp

8
Başka bir yorumda belirtildiği gibi, bu kötü bir fikir. Gulp veya grunt gibi derleme sistemleri, belirli bir projenin belirli bir yapıya özgü sürümüne bağlı olabileceği şekilde tasarlanmıştır (bu nedenle, küresel sisteminizin durumu veya kurulu sürümleri ne olursa olsun yine de oluşturulacaktır). Yutkunmanın küresel ve yerel versiyonunu birbirine bağlamaya çalışmak, kendinizi ayağınızdan vuruyor ...
Mangled Deutz

@MangledDeutz Bu özel projeye bir yudum bağlamakla ilgilenmiyorum. Sadece bazı derleme görevlerini otomatikleştirmek için küçük bir komut satırı aracı olarak kullanmak istiyorum. Benim gulpfile dosyam git deposunun bir parçası olmayacak ve aslında bu depoyu başka bir bilgisayarda klonlarsam, bu görevleri otomatikleştirmek için gulp bile kullanmamaya karar verebilirim, farklı bir araç kullanabilirim. Düğüm ve npm yokmuş gibi davranmak istiyorum ve gulp, CWD'de gulpfile.js'yi arayan ve sihirli bir şekilde çalışan / usr / bin'de sadece küçük bir program. Tüm istediğim buysa, bu cevap mantıklı bir şey değil mi?
Jack M

@JackM hala makul bir şey değil, çünkü sistem genelinde hangi gulp sürümünün kurulu olduğuna bağlı olarak, o gulpfile.js ile çalışabilir veya çalışmayabilir (ve "sihirli bir şekilde" sebepsiz yere kırılır) ...
Mangled Deutz

@MangledDeutz Ancak bu, bir dosyayı girdi olarak kabul eden herhangi bir komut satırı programı için geçerlidir.
Jack M

Yaaas! BU! Global sürümün uygun olup olmadığına geliştiricinin karar vermesine izin verin !!
Peter Kionga-Kamau

-2

/Home/username/.npm dizinini kontrol edin: dosyaların grupları / sahibi kök olabilir. Kullanıcı adı değiştir:

chown -R username.username /home/username/.npm

-2

Yakın zamanda "Yerel yutkunma bulunamadı" hata mesajıyla karşılaştım. Global node_modules dizininden gulpfile.js'min bulunduğu yerel proje dizinine bir symlink oluşturarak bunu geçmeyi başardım.


7
Daha sonra, temel sisteminizi yükselttiğinizde bozulmayan yerel olarak mevcut bir yapı sisteminin amacını bozuyorsunuz. Bu kesinlikle kötü bir fikir ve yazarların niyetlerine ters düşüyor ...
Mangled Deutz
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.