Düğüm-gyp nedir


123

node-gypNode.JS paketleri oluşturmak için sistem dosyalarımı neyin ve neden kullandığını bana açıklayabilir mi?

  1. Ii bir düğüm projesi oluşturur ve node-gypdahili olarak kullanılırsa .
  2. Sonra o projeyi katranladım ve farklı bir sisteme geçtim
  3. Oraya gidip kullanmaya çalışıyorum

Bu yaklaşım işe yarayacak mı?


17
Github sayfasında açıklanmıştır: github.com/nodejs/node-gyp . Temelde, node-gypgibidir make. C ++ projelerinin derleme sürecini kontrol etmek için kullanılan bir araçtır. Yalnızca node.js eklentileri (C ++ ile yazılmış modüller) için özel olarak tasarlanmıştır. Dolayısıyla, aynı CPU'yu kullanıyorsa farklı bir sisteme geçmek işe yarayabilir. Farklı bir işletim sistemine veya CPU'ya (örneğin x86'dan ARM'ye) geçmek işe yaramayacaktır. Linux için, aynı dağıtımın farklı sürümünün farklı bir dağıtımına geçmek işe yarayabilir veya çalışmayabilir. Farklı bir node.js sürümüne geçmenin işe
yarayıp

2
Çalıştırdığımda yarn why node-gypgeri geliyor: çünkü node-sass, eminim başka kullanımları vardır, ancak size veya sevdiğiniz birine teşhis konmuşsa projenizde olabilir sass.
Kzqai

@slebetman farklı düğüm sürümüne geçmek işe yaramayacak, bunun% 100 doğru olup olmadığından emin değilim, yine de deneyimlerime göre, nodejs sürümünü yükselttikten sonra eski node-gyp'yi kaldırmanız gerekiyor ve modüller sırasında arka planda otomatik olarak yeniden oluşturuluyor.
Lukas Liesis

Yanıtlar:


134

node-gypNode.js Eklentilerini derleyen bir araçtır. Node.js Eklentileri, C veya C ++ ile yazılmış yerel Node.js Modülleridir ve bu nedenle makinenizde derlenmesi gerekir. Node-gyp gibi araçlarla derlendikten sonra, işlevselliklerine require()diğer Node.js Modülleri gibi erişilebilir .

Eğer modülün çalışmayacağını önerdiğiniz şeyi yaparsanız, programı taşıdığınız sistemde onu derlemeniz / node-gyp ile inşa etmeniz gerekecektir.

node-gyp: https://github.com/nodejs/node-gyp

Node.js Eklentileri: https://nodejs.org/api/addons.html


28
Kabul etmeliyim, düğüm-gyp kullanan npmjs olmayan bir modül görüyorum, genellikle 10 mil uzakta
koşuyorum

38
Bugünlerde NodeJS'de yazılmış nispeten basit bir web uygulamasını klonlayabilmeniz heyecan verici ve birden bire C ve C ++ ile yazılmış yerel kodu derlemek için yazılım indirmeniz gerekiyor. En iyi bölüm, sorunlarla karşılaştığınız zamandır ve bunu çözmek için web tasarım becerilerinizle tam olarak ne yapacağınızı bilirsiniz.
Jim Aho

3
@ Mr-Programs Sizin tarafınızdan yazılması gereken bir bağlayıcıyla bağlantılıdır
vuza

2
@JimAho İdeal olarak ve çoğu zaman kod sadece kara kutudur. İşin iyi yanı, xml ayrıştırması gibi belirli şeyleri yapmak için hızlı ve iyi desteklenen araçları kullanabilmeniz ve daha yavaş veya daha bozuk olabilecek bir js bağlantı noktasını beklemek zorunda kalmamanızdır. Bununla birlikte, mümkün olduğunda yerel j'leri tercih ederim, ancak bu konumun sağlam bir şekilde kurulduğundan emin değilim. Ayrıca, işletim sistemine bilerek bağlı olmayan (bildirimler gibi) herhangi bir durum için C / C ++ çok taşınabilir olmalıdır. Dahası, hataya eğilimli paketler, söz konusu hataların kaynağı ne olursa olsun geniş bir benimsenme görmez.
Adam Tolley

3
Bilginize, "gyp" nin "projelerinizi oluşturun" un kısaltması olduğuna inanıyorum
Tom
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.