2016-11-08 19 views
11

İplik bağımlılıkları yüklemek için kullanıldığında, bunları varsayılan olarak node-modules dizinine koyar.İplik varsayılan paketleri dizini nasıl değiştirilir?

Bunu Laravel resources klasörüne nasıl değiştirebilirim? paketinizi yüklerken, ikili dosyalar, man sayfalarını koymak doğru yeri belirtebilirsiniz

{ 
    "directories": { 
    "lib": "path/to/lib/", 
    "bin": "path/to/bin/", 
    "man": "path/to/man/", 
    "doc": "path/to/doc/", 
    "example": "path/to/example/" 
    } 
} 

.bowerrc gibi
Eğer package.json dosyasında dizinleri belirtebilirsiniz Yarn Docs göre "directory": "resources/assets"

+0

Referans için bu bağlantıya bakın - https://yarnpkg.com/en/docs/package-json#toc-directories –

+2

bana bu soruya cevap verilmedi. Tarayıcı tarafında (örn. '' '' '' '' '' ', Örneğin tarayıcı tarafında gereksinim duyduğunuz diğerleri için yüklemeniz gereken paketler vardır. jquery, bootstrap, font-awesome. Ben javas, bootstrap vb için sunucu ve bower için NPM kullandım ... şimdi ** Yarn ** ile sadece ben hala benim varlıkları/vendor 'klasöründe istediğim belirli bir kütüphane için hedef değiştirmek nasıl bilmiyorum ya da 'node_modules' – zabumba

cevap

10
yarn install --modules-folder ./resources 

GÜNCELLEME: Bu özellik oldukça kararlı olmadığından, bu GitHub Issue üzerinde bir göz atın.

GÜNCELLEME 2: aşağıda cevap Damien's itibaren, sürekli sonraki her çağrı için de komut argüman iletilmesi gerekmez böylece bir .yarnrc file için --install.modules-folder "./resources" ekleyebilir. Çift tırnak gerekli olduğunu unutmayın; Bunlar olmadan Invalid value type 1:25 veya benzeri bir hata alırsınız.

Daha sonra kaynak kontrolüne .yarnrc taahhüt edebilirsiniz, böylece projedeki diğer geliştiriciler aynı ayarları otomatik olarak kullanabilirler.

--modules-folder resources 

Bu şekilde her yarn komut bu parametre setini sahip olacaktır:

+2

Bu korkunç bir çözümdür. Bunun gibi şeyler bir seferlik komut satırı anahtarları değil, küresel seçenekler olmalı. Bu node.js çözümlerinin çoğunun ağa bağlı olmayan, silo'lu bir ortamda nasıl tasarlandığı konusunda şaşkınım. Birçok ağ bağlantılı sistem kullanıcı dizinini bir ağ paylaşımına yerleştirir. Ancak GLOBAL yüklemeleri, kullanıcı düzeyinde değil, sistem düzeyinde. Orada, kullanıcının komut satırındaki modüller klasörünü geçersiz kılmasını gerektirmeyen bir "iplik global kurulumu ne olursa olsun" olması gerekir. Görünüşe göre başka bir github çekme isteğini reddedeceğim. haha – Armand

+0

Bu konuda bazı ilerlemeler var. https://github.com/yarnpkg/yarn/pull/3792 –

+3

Kayıt için: '.yarnrc' dosyasını kullanarak bu seçeneği' --install.modules-folder kullanarak yapabilirsiniz. resources' ([documentation] (https://yarnpkg.com/en/docs/yarnrc)) – Damien

-2

ayarlamak için kulübeye için kullanılır vb dokümanları, örnekleri,

+1

yeni denendi, ancak tüm bağımlılıklar hala node_modules'de yüklü. Bu senin için uygun mu? Paketin destekliyorsa, dosyaları sıralamak için bunlar paketin içinde olabilir. –

+0

işe yaramıyor. https://stackoverflow.com/questions/48300008/how-to-change-dependency-installation-directory-at-yarn – neoerol

3

Aşağıdaki içeriğe sahip bir .yarnrc dosyası oluşturabilirsiniz.

+2

Sadece bu downvoted olsa bile, ** doğru ** olduğunu eklemek istedim. Ayrıca, kapsamı da ekleyebilirsiniz: '--install.module-folder' bu değeri sadece' 'install' komutu için ayarlayacaktır, '- *. Modules-folder' ise her komut için geçerli olmalıdır (böylece _should_ aynı davranışı gösterecektir. ilk komut olarak) –

İlgili konular