Saya mencari perintah yang akan mencantumkan nama modul global yang saya miliki npm link
ke salinan lokal, juga mencantumkan jalur lokal.
Bahkan, daftar semua modul yang diinstal secara global akan lebih baik lagi, dengan npm link
yang entah bagaimana ditandai .
npm -g ls
harus mencantumkan semua modul global, tetapi saya tidak tahu apakah itu mencantumkan modul tertautnpm link
'd. Saya butuh cara untuk melacak.Jawaban:
Apakah Anda hanya mencoba membuat daftar
node_modules
isi direktori (mis.ls -l node_modules | grep ^l
)? Itu adalah symlink normal.Jika Anda benar-benar perlu menemukan semua symlink, Anda dapat mencoba sesuatu seperti
find / -type d -name "node_modules" 2>/dev/null | xargs -I{} find {} -type l -maxdepth 1 | xargs ls -l
.sumber
( ls -l node_modules ; ls -l node_modules/@* ) | grep ^l
ls -l -R ./node_modules | grep ^l
Untuk mendaftar semua modul yang ditautkan secara global, ini berfungsi (dokumentasi https://docs.npmjs.com/cli/ls ):
Saya harus memperbarui versi npm di komputer saya terlebih dahulu, meskipun:
sumber
--link=true
. Lingkungan saya: Win10, NVM = 1.1.7, Node saat ini = 8.14.0npm unlink <package> -g
Alternatif yang lebih baik untuk penguraian
ls
adalah dengan menggunakanfind
seperti ini:Anda hanya dapat menggunakan
-maxdepth 1
untuk memproses tingkat direktori pertama:Anda dapat menggunakan
-ls
untuk info tambahan.Misalnya, untuk menemukan modul node yang ditautkan dengan npm:
Berikut adalah artikel mengapa parsing
ls
bukanlah ide terbaiksumber
Jika Anda menginginkan keluaran berwarna yang bagus
npm list
, Anda mungkin menyukai:yang memberi di direktori taman bermain saya saat ini:
Itu membuat beberapa asumsi tetapi seharusnya berhasil dalam banyak kasus, atau mudah disesuaikan dengan penjelasan di bawah ini.
\ls
untuk melewati kemungkinan alias di filels
perintah-F
pilihan menambahkan '@' indikator untuk linksed
perintah memilih link tersebut dan menghapus indikatorxargs
bagian melewati keluaran sebelumnya sebagai argumen untuknpm ...
npm
dipanggil denganlist
atauls
untuk membuat daftar modul dengan versill
untuk mendapatkan detail tentang setiap modul yang terdaftar.-g
untuk modul global dan--depth 0
untuk daftar dangkal (opsional)--long false
(default dengan 'daftar').Masalah: untuk beberapa alasan npm memberikan entri asing untuk saya saat ini (tidak berwarna). Mereka akan menjadi orang-orang yang telah saya " npm unlink ".
Untuk " daftar semua modul yang diinstal secara global " di jalur npm saat ini, Anda cukup melakukannya
Untuk kebutuhan selanjutnya, Anda mungkin ingin melihatnya
Anda tidak dapat mengikuti symlinks mundur kecuali Anda memindai seluruh sistem file Anda dan (maka itu bukan pertanyaan khusus npm).
Untuk menemukan file dan direktori dengan cepat berdasarkan nama, saya menggunakan
locate
yang berfungsi pada indeks yang dibangun kembali biasanya sekali sehari.dan mulai bekerja dari sana (Anda mungkin ingin mempersempit pencarian dengan
--regexp
opsi.sumber
-g
untuk mendapatkan tautan ketergantungan sementara lokal / terdekat. Terima kasih!Saya menemukan pertanyaan ini setelah saya juga menulis alat saya sendiri, ini untuk kelengkapannya: npm-list-linked .
Ini akan secara rekursif mengikuti semua paket tertaut ke bawah dalam hierarki juga, di pekerjaan saya terkadang kami memiliki
npm link
2-3 level dalam dan dengan cara ini Anda dapat melihat dengan tepat mana yang lokal dan mana yang tidak, menghindari kejutan.sumber
Saya membuat modul Node.js yang digunakan
fs
untuk memeriksa symlink yang dibuat olehnpm link
atau sebaliknya.https://www.npmjs.com/package/symlinked
sumber
Saya melihat diri saya dan orang lain sering memiliki pertanyaan yang sama ini. Saya menulis CLI kecil untuk diri saya sendiri yang dipanggil
link-status
untuk menampilkan info ini, ini dapat membantu orang lain juga! Lihat di sini!sumber
untuk menampilkan tautan global, termasuk paket dengan namespace.
Jawaban @ andrew terkadang berhasil:
tapi meledak pada kesalahan dep peer untuk saya pada beberapa kesempatan. Semoga itu bisa membantu seseorang!
sumber