Npm kullanmadan node.js modülü nasıl kurulur?


115

Düğümün github sayfasında listelenen ancak npm-kayıt defteri ile yayınlanmayan epeyce modül vardır . Bu modüller npm kullanılarak yüklenemez.

Bu nodejs modüllerini Git'ten klonladıktan sonra kurmanın doğru yolu nedir?

Yanıtlar:


73

Kaynaklarını github'dan indirmeniz gerekir. Ana dosyayı bulun ve ardından ana dosyanıza ekleyin.

Bunun bir örneği burada bulunabilir> Bir node.js modülü manuel olarak nasıl kurulur?

Genellikle kaynağı bulmanız ve package.json dosyasını incelemeniz gerekir. Orada ana dosyanın hangisi olduğunu bulabilirsiniz. Böylece bunu başvurunuza dahil edebilirsiniz.

Uygulamanıza example.js eklemek için. Uygulama klasörünüze kopyalayın ve ana js dosyanızın üstüne ekleyin.

var moduleName = require("path/to/example.js")


1
Bir komut dosyasını harici bir URL'den (gibi var myscript = require("http://www.mywebsite.com/myscript.js")) içe aktarmak mümkün mü ? Görünüşe göre requireişlev harici URL'ler için çalışmıyor.
Anderson Green

2
Required aslında eşzamanlıdır, bu nedenle hayır, harici URL'ler için çalışmaz.
Chris Tavares

Not: -masterEklenen github kitaplıklarını kaldırmanız gerekir ; değiştiği xxx-mastergibi xxx.
BAR

65

Bu modüller npm kullanılarak yüklenemez.

Aslında bir modülü yerel yol adı yerine belirterek kurabilirsiniz. Depo geçerli bir package.jsondosyaya sahip olduğu sürece çalışmalıdır.


Yazın npm -lve güzel bir yardım şöyle görünecektir:

CLI:

...
install     npm install <tarball file>
                npm install <tarball url>
                npm install <folder>
                npm install <pkg>
                npm install <pkg>@<tag>
                npm install <pkg>@<version>
                npm install <pkg>@<version range>

                Can specify one or more: npm install ./foo.tgz bar@stable /some/folder
                If no argument is supplied and ./npm-shrinkwrap.json is 
                present, installs dependencies specified in the shrinkwrap.
                Otherwise, installs dependencies from ./package.json.

Gözlerimi yakalayan şuydu: npm install <folder>

Benim durumumda mrtmodülle ilgili sorun yaşadım, bu yüzden bunu yaptım (geçici bir dizinde)

  • Depoyu klonlayın

     git clone https://github.com/oortcloud/meteorite.git
  • Ve bunu global olarak şu şekilde kuruyorum:

     npm install -g ./meteorite

İpucu:

Depoyu aynı şekilde yerel bir npm projesine şu şekilde kurabilirsiniz:

     npm install ../meteorite

Ayrıca, geliştirmede bir yamaya ihtiyaç duyulması durumunda depoya bir bağlantı oluşturulabilir:

     npm link ../meteorite

1
en mükemmel. Bir modülle de sorun yaşıyordum, bu yüzden çatalladım ve web projemin kardeş dizinine klonladım, tüm bağımlılıklarını en son sürümlere güncelledim ve ardından 'npm install ../ ile web projeme yükledim. Broken_module_name Bu bir cazibe gibi çalıştı. Teşekkürler!
Perry Tew

+1 ancak npm için ağ erişimimiz yoksa ve yüklediğimiz modülün npm install <folder>sayısız başka npm bağımlılığı varsa işe yaramaz.
Abdul Rauf

Eğer npm, paketi node_modules içinde ya genel (burada emin değil) kapsamdan ya da yerel olandan bulursa, onu tekrar indirmeye çalışmayacaktır. Bu, bir deponun tüm doğrudan bağımlılıklarının önceden indirilip node_module klasörüne kopyalanabilmesi durumunda çalışacağı anlamına gelir.
Tiberiu C.

11

Kodu github'dan node_modules dizinine indirin

var moduleName = require("<name of directory>")

bunu yapmalı.

modülün bağımlılıkları varsa ve bir package.json varsa, modülü açın ve npm install girin.

Bu yardımcı olur umarım


Sanırım bu kod, ana dosyanın adıindex.js
R3tep

8

Modülü doğrudan yerel projenize klonlayabilirsiniz.

Terminali başlat. projenize cd yapın ve ardından:

npm yükleme https://github.com/repo/npm_module.git --save


1
Aradığım cevap.
Faisal Mq

Paket değiştirildiğinde ne olur, en son sürüme nasıl güncellersiniz? ATM, bulduğum tek "çözüm" besleyiciyi node_modules'den silmek, package.json girişini silmek ve yeniden eklemek oldu, bu bir acı ...
Predrag Stojadinović

1

Adım adım:

  • Diyelim ki ve gibi use-gulp( requireler) kullanan bir proje üzerinde çalışıyorsunuz .node_modulesgulpgulp-util
  • Şimdi gulp-utillib için bazı değişiklikler yapmak ve use-gulpprojenizle yerel olarak test etmek istiyorsunuz ...
  • gulp-utilGithub \ bitbucket vb. Üzerinde çatal projesi
  • Projenize geçiş yapın: cd use-gulp/node_modules
  • Klon gulp-utilolarak gulp-util-dev:git clone https://.../gulp-util.git gulp-util-dev
  • npm installBağımlılıklarının gulp-util-devmevcut olduğundan emin olmak için çalıştırın .
  • Şimdi bir ayna var gulp-utilolarak gulp-util-dev. Senin içinde use-gulpproje, artık yerini alabilir: require('gulp-util')...;çağrı ile: require('gulp-util-dev')Eğer yapılan değişiklikleri test etmekgulp-util-dev
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.