2016-11-10 27 views
34

Bu tamamen yeni bir soru değil, ama şu anda iyi bir şeyler arıyorum ve bir çözüm bulmakta zorlanıyorum.npm yükleme ve çatallı github repo oluşturma

Açısal uygulamam için açısal-çevirme adlı bir modül kullanıyorum. Ancak, ben istediğiniz şekilde çalışma her şeyi elde etmek kaynak koduna birkaç küçük değişiklik yapma yaşadım ve şimdi npm install üzerinde bu değişiklikleri devam etmek istiyorum. Bir meslektaşım, kaynak kodun repo'sunu çatalladığım ve bu yollarla denediğim bir bağımlılık olarak çatallı repoya işaret ettiğimi öne sürdü.

Birincisi, derleme olmadan bu gibi bir dizin verir. Sadece bir package.json, .npmignore ve bazı markdown dosyaları

-angular-translate 
    .npmignore 
    .nvmrc 
    CHANGELOG.md 
    package.json 
    etc 

ikinci npm install beni tam repo verir, ama yine ben komutunu npm install angular-translate kullandığınızda gibi bir yapı alamadım. Prepublish komut dosyasını çalıştırmanın bazı sıkıntılarını gördüm, ancak tüm modülleri kurarken bunu nasıl yapacağımı bilmiyorum. Ben de kendi modülümü npm kayıt defterinde yayınlamayı denedim, ama yine de yapıyorum ve bu doğru şey yapamayacağından emin değilim ...

Benim cehalet için özür dilerim konu. Npm ile çok fazla deneyimim yok. Bu konuda geri bildirim almak isterim. Bir paketin kaynak kodunda değişiklik yapılması gerektiğinde ortak bir sorun olabilir gibi görünüyor mu? Belki daha iyi bir çözüm var? Yardımlarınız için şimdiden teşekkür ederiz. <ghUsername> sizin GitHub (@ olmadan) kullanıcı adı ve <repoName> olduğunu

cevap

38

deneyin npm install <ghusername>/<repoName>, depo adıdır. Bu doğru şekilde kurulmalıdır. Büyük olasılıkla sizin package.json yılında bağımlılığı kurtarmak için yüklemek komutuyla --save veya --save-dev bayrağını kullanmak isteyecektir. O takdirde

sizin .npmignore dosyasının içeriğini kontrol düzgün çalışmıyor. Komut uzun zaman alır yüklerseniz

panik yapmayın; Git deposundan yükleme, npm kayıt defterinden yükleme yapmaktan daha yavaştır.


Düzenleme:

Senin sorunun (o .gitignore içinde olduğundan) senin durumunda, dist/ repoya kararlı olmamasıdır. Gerçek kodun yaşandığı yer burasıdır. dist/, paket npm kayıt defterine yayınlanmadan önce src/ dosyalarından oluşturulur, ancak dist/ repo'ya hiçbir zaman taahhüt edilmez.

Bu çirkin, ama bu durumda çalıştırmak sonra .gitignore den dist/ kaldırıp gerekir:

Sonra gerekir (önce npm install çalıştırmak emin olun)

npm run build 
git add . 
git commit 
git push 

github'dan yükle.

bir postinstall script kullanarak bunu yapmanın başka yolu olabilir, ama bunun mümkün olup olmadığından emin değilim; Hiç denemedim.cevapta, Ryan için

+0

teşekkürler. Bunu denedim, ancak 1 npm kurulum ile aynı sonucu aldım. Daha sonra .npmignore dosyasını kaldırmayı denedim ve ikinci sonuçla aynı bütün repo aldım. Sorun hala yapının olmayışıdır. – hughesjmh

+0

@hughesjmh Garip. Gerçek depo URL'si nedir? Bunu kendim denemek isterim. – RyanZim

+0

Tamam, şimdi anladım. Cevabımı düzenledim. – RyanZim