Apakah ada cara untuk memindahkan direktori node_modules dalam aplikasi ke / vendor / node_modules seperti yang dilakukan bower dengan file bowerrc? Saya pikir itu bisa ditentukan dalam package.json tetapi sepertinya saya tidak dapat menemukan solusi. Bantuan Anda sangat dihargai.
96
node_modules
dalampackage.json
, dan jawaban xShirase tidak memberikan cara untuk melakukan itu.Jawaban:
ya Anda bisa, cukup setel variabel env NODE_PATH:
export NODE_PATH='yourdir'/node_modules
Menurut dok:
Sumber
sumber
process.env
Singkatnya: Ini tidak mungkin, dan sepertinya tidak akan pernah didukung (lihat di sini https://github.com/npm/npm/issues/775 ).
Ada beberapa pekerjaan hacky dengan menggunakan CLI atau ENV-Variables (lihat jawaban yang dipilih saat ini), .npmrc-Config-Files atau
npm link
- apa yang mereka semua miliki: Mereka tidak pernah hanya proyek-spesifik, tetapi selalu semacam dariglobal
Solutions.Bagi saya, tidak ada solusi yang benar-benar bersih karena kontributor proyek Anda selalu perlu membuat beberapa konfigurasi khusus atau memiliki pengetahuan khusus - mereka tidak bisa
npm install
dan berfungsi.Jadi: Anda harus meletakkan package.json Anda di direktori yang sama di mana Anda ingin node_modules Anda diinstal, atau hidup dengan fakta bahwa mereka akan selalu berada di root-dir proyek Anda.
sumber
Benang mendukung fitur ini:
# .yarnrc file in project root --modules-folder /node_modules
Tetapi pengalaman Anda dapat bervariasi tergantung pada paket mana yang Anda gunakan. Saya tidak yakin Anda ingin masuk ke lubang kelinci itu.
sumber
Saya tidak yakin apakah ini yang Anda pikirkan, tetapi saya berakhir dengan pertanyaan ini karena saya tidak dapat menginstal
node_modules
di dalam direktori proyek saya karena dipasang pada sistem file yang tidak mendukung symlink (folder "bersama" VM ).Saya menemukan solusi berikut:
package.json
file ke folder temp pada sistem file yang berbedanpm install
kesananode_modules
direktori yang dihasilkan kembali ke direktori proyek, gunakancp -r --dereference
untuk memperluas symlink menjadi salinan.Saya harap ini membantu orang lain yang akhirnya menjawab pertanyaan ini ketika mencari cara untuk pindah
node_modules
ke sistem file yang berbeda.Pilihan lain
Ada solusi lain, yang saya temukan di masalah github yang ditautkan oleh @Charminbear , tetapi ini tidak berfungsi
grunt
karena tidak mendukungNODE_PATH
sesuai https://github.com/browserify/resolve/issues/136 :sumber