Verdaccio: Alat yang berkuasa untuk pengurusan mudah pakej NPM swasta
mata teras
Atas sebab apa pun, terdapat banyak pilihan. Mungkin cara paling mudah ialah mendaftarkan perkhidmatan perniagaan untuk NPM dan kemudian anda boleh memulakannya. Tetapi ini memerlukan bayaran dan mungkin tidak sesuai untuk dompet semua orang.
bernasib baik, terdapat alternatif percuma yang dipanggil Verdaccio yang dapat membantu anda.
Pengenalan kepada Verdaccio
Verdaccio adalah pakej NPM yang membolehkan anda membuat pendaftaran NPM tempatan tanpa sebarang konfigurasi. Ini adalah projek dengan semua fungsi yang diperlukan, dengan pangkalan data sendiri. Ia melakukan ini dengan bertindak sebagai pelayan cache/proksi tempatan.
Jika anda fikir ini bukan sesuatu yang baru, sudah ada Sinopia, anda betul. Verdaccio hanyalah garpu Sinopia yang mengekalkan keserasian ke belakang, tetapi pada masa yang sama cuba untuk mengikuti perubahan dalam NPM rasmi. Salah satu perubahan yang tidak terdapat di Sinopia adalah pakej skop, yang mungkin anda lihat sebelum menggunakan perpustakaan seperti Angular 2 atau jenis hosting NPM TypeScript. Anda boleh dengan mudah mengenalinya dengan simbol @ yang terdahulu:
<code># 安装 Angular2 依赖项 npm install @angular/core # 安装 TypeScript 的官方 Node.js 类型定义 npm install @types/node</code>
Sinopia dan Verdaccio kedua -duanya boleh didapati di Mac/Linux dan Windows.
Sejak Verdaccio adalah pakej NPM, anda boleh memasangnya hanya dengan menjalankan arahan berikut:
<code>npm install -g verdaccio</code>
kemudian memanggil Verdaccio akan memulakan contoh dan menjalankan pendaftaran peribadi anda.
Secara lalai, ia akan mendengar di port 4873. Kami akan membincangkan cara mengubah tetapan ini kemudian.
Dalam artikel ini, kami akan memperkenalkan penyediaan pendaftaran pada mesin pembangunan anda. Dalam persekitaran korporat, anda mungkin perlu melakukan ini pada pelayan yang berdedikasi supaya ia dapat diakses oleh semua pemaju.
Verdaccio adalah aplikasi Node.js, yang bermaksud anda harus berhati -hati untuk memulakannya semula apabila anda terhempas. Saya cadangkan menggunakan PM2. Anda hanya perlu menjalankan langkah -langkah berikut:
<code># 安装 pm2 npm install pm2 -g # 使用 pm2 启动 Verdaccio pm2 start PATH-TO-GLOBAL-VERDACCIO/verdaccio # --> 例如,对于 Windows:C:/Users/[USERNAME]/AppData/Roaming/npm/node_modules/verdaccio/bin/verdaccio</code>
Di samping itu, jika selepas membaca artikel ini, anda membuat kesimpulan bahawa Verdaccio tidak sesuai untuk anda, hentikan proses dan nyahpasang Verdaccio dengan perintah berikut:
<code>npm uninstall -g verdaccio</code>
Apabila pendaftaran berjalan dan berjalan, anda perlu menunjuk klien NPM ke alamat baru. Ini boleh dilakukan dengan menjalankan arahan berikut:
<code>npm set registry https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d/</code>
Jika anda hanya mengikuti langkah -langkah dalam artikel ini dan ingin memulihkan ke pendaftaran NPM yang asal kemudian, cuma jalankan perintah ini NPM Set Registry https://www.php.cn/link/C0AB525D634E80FD8E20E3D6DC00B111C Untuk akses berasaskan https) atau NPM set registry https://www.php.cn/link/6baadc89159617043965f9e1889224e7 (untuk akses http klasik).
Di samping itu, jika anda menyediakan perkhidmatan pendaftaran melalui HTTPS, anda perlu menyediakan maklumat CA yang sesuai.
<code># 将值设置为 null 将使用操作系统提供的列表 npm set ca null</code>
Anda kini boleh mengakses pelayar pendaftaran dengan menavigasi ke alamat https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d .
<code>C:\Users\[USERNAME]\.config\verdaccio\config.yaml</code>
<code># 安装 Angular2 依赖项 npm install @angular/core # 安装 TypeScript 的官方 Node.js 类型定义 npm install @types/node</code>
Satu lagi penentuan minat mungkin menggunakan proksi, terutama dalam persekitaran korporat. Tetapan ini adalah seperti berikut:
<code>npm install -g verdaccio</code>
ingat, selepas menukar sebarang konfigurasi, mulakan semula Verdaccio dengan membunuh proses semasa atau menghentikan proses PM2 dan memulakannya semula.
Terakhir tetapi tidak kurang, kita perlu mengkonfigurasi pengguna yang menerbitkan pakej ke pendaftaran anda. Kami boleh melakukan ini menggunakan perintah AddUser lalai, yang menunjuk kepada pendaftaran tersuai kami.
<code># 安装 pm2 npm install pm2 -g # 使用 pm2 启动 Verdaccio pm2 start PATH-TO-GLOBAL-VERDACCIO/verdaccio # --> 例如,对于 Windows:C:/Users/[USERNAME]/AppData/Roaming/npm/node_modules/verdaccio/bin/verdaccio</code>
ingat untuk menggunakan port yang sama yang anda konfigurasi sebelum ini.Pengguna ini akan digunakan untuk mengesahkan contoh Verdaccio. Sebagai tambahan kepada fail config.yaml yang disebutkan di atas, anda juga akan menemui fail HTPasswd yang baru dibuat untuk menyimpan nama dan kelayakan log masuk anda.
pakej npm peribadi pertama anda
Buat pakej
Amalan yang baik adalah untuk awalan nama pakej anda supaya anda dapat memberitahu dengan segera sama ada anda menggunakan sumber tempatan peribadi atau sumber NPM rasmi.Bahagian seterusnya adalah membuat pakej sebenar. Oleh itu, kami membuat fail index.js. Contoh mudah ini hanya akan mengeksport fungsi Helloworld:
<code>npm uninstall -g verdaccio</code>
Setelah menyelesaikan operasi ini, hanya jalankan NPM Terbitkan dalam direktori root Hello-World untuk menyelesaikan operasi.
Jika anda kini mengakses pelayar pendaftaran di penyemak imbas anda sekali lagi, terletak di
https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d/, anda akan melihat bahawa senarai baru .
Contoh Aplikasi Pengguna
Dalam demo folder baru, kami menggunakan NPM Init sekali lagi untuk membuat aplikasi nod baru. Sekali lagi, terima semua cadangan, mungkin hanya menambah keterangan dan maklumat pengarang.
Selepas, buat fail index.js yang akan bertindak sebagai direktori root permohonan kami.
Untuk memasang pakej peribadi, anda pada dasarnya perlu melakukan perkara yang sama seperti proses NPM standard.
<code># 安装 Angular2 依赖项 npm install @angular/core # 安装 TypeScript 的官方 Node.js 类型定义 npm install @types/node</code>
Ini memasang pakej ke dalam folder node_modules anda dan mengemas kini bahagian kebergantungan pakej.json.
Sekarang kita boleh menggunakan pakej tersebut. Buka index.js dan tambahkan kod berikut:
<code>npm install -g verdaccio</code>
Sekarang, apabila anda menjalankan aplikasi anda menggunakan node index.js, anda harus melihat Hello World sebagai output pada baris arahan.
Tahniah, anda hanya menyiarkan dan menggunakan pakej peribadi anda sendiri!
Sama berlaku untuk pakej awam. Anda hanya terus menjalankan NPM memasang nama pakej dan segala-galanya akan dipasang di folder Node_Modules seperti biasa.
Apa yang Verdaccio lakukan di belakang tabir adalah untuk memeriksa folder penyimpanannya dan periksa sama ada pakej yang diminta wujud. Sekiranya ia tidak wujud, ia akan cuba mengemukakan permintaan kepada pendaftaran NPM rasmi, memuat turun dan menyimpannya, dan kemudian balas permintaan anda. Kali berikutnya anda membuat permintaan pemasangan NPM untuk pakej yang sama, ia kini akan memberikan pakej.
Jadi, walaupun pendaftaran rasmi turun atau tidak boleh diakses atas apa -apa sebab, anda masih boleh mengakses versi cache anda sendiri. Verdaccio akan sentiasa memuat turun kandungan yang diminta. Jika anda menyiarkan beberapa kemas kini, anda akan memuat turunnya seperti yang diperlukan.
Sila ambil perhatian bahawa pelayar pendaftaran tidak boleh memaparkan pakej awam. Jika anda perlu memaparkannya, anda boleh mengedit fail .sinopia-db.json dan tambahkan nama pakej secara manual ke array senarai. Jangan lupa untuk memulakan semula Verdaccio selepas itu.
Jadi sekarang anda boleh menjadi tuan rumah pendaftaran peribadi anda sendiri dan mendapat manfaat daripada pakej awam yang di -cache. Paling penting, anda kini boleh menerbitkan pakej peribadi tanpa perlu berkomunikasi dengan awan. Selepas pemasangan selesai, semua arahan pelanggan NPM yang berkaitan adalah sama seperti biasa.
Dalam keadaan gila di mana beberapa pakej anda rosak atau rosak, ingat bahawa ia hanya sebuah kedai folder yang menganjurkan pakej anda, jadi navigasi di sana dan padamkan pakej yang rosak. Pemasangan seterusnya boleh menyelesaikan masalah anda.
Saya harap anda menikmati jawatan ini dan berharap dapat mendengar anda dalam komen!
Verdaccio adalah sumber terbuka, ringan, dan pendaftaran NPM swasta yang kuat yang membolehkan anda menjadi tuan rumah secara peribadi pakej NPM anda sendiri. Ini adalah alat yang hebat untuk pemaju yang ingin mengawal kod dan kebergantungan mereka. Verdaccio menyediakan cara yang selamat dan cekap untuk menguruskan pakej NPM, membolehkan anda untuk pakej cache, mengendalikan akses, dan juga menggunakannya sebagai pilihan sandaran apabila pendaftaran NPM utama turun.
Memasang Verdaccio sangat mudah. Anda perlu memasang Node.js dan NPM pada sistem anda. Selepas pemasangan selesai, anda boleh menggunakan arahan pemasangan NPM untuk memasang Verdaccio: NPM Install -G Verdaccio. Ini akan memasang Verdaccio secara global pada sistem anda.
Selepas memasang Verdaccio, anda boleh menerbitkan pakej NPM peribadi anda dengan log masuk pertama ke pendaftaran Verdaccio anda menggunakan arahan log masuk NPM. Anda akan diminta untuk nama pengguna, kata laluan, dan e -mel anda. Sebaik sahaja log masuk, navigasi ke direktori pakej anda dan siarkan pakej anda menggunakan arahan NPM Publish.
Verdaccio membolehkan anda mengawal akses ke pakej NPM peribadi melalui fail konfigurasinya config.yaml. Anda boleh menentukan siapa yang boleh mengakses, menerbitkan, dan pakej tidak diterbitkan. Anda juga boleh membuat kumpulan pengguna dan memberikan kebenaran kepada mereka.
Ya, Verdaccio boleh bertindak sebagai proksi dan cache untuk pakej NPM awam. Ini bermakna apabila anda memasang pakej, Verdaccio terlebih dahulu akan memeriksa sama ada ia tersedia dalam storannya. Jika tidak tersedia, ia akan mengambilnya dari pendaftaran NPM awam dan cache untuk kegunaan masa depan.
Anda boleh mengkonfigurasi Verdaccio untuk bertindak sebagai pilihan sandaran dengan menetapkannya sebagai pendaftaran utama anda dalam fail .npmrc. Dengan cara ini, apabila pendaftaran NPM utama turun, NPM akan menggunakan Verdaccio secara automatik.
Ya, Verdaccio boleh diintegrasikan dengan pelbagai alat seperti Docker, Kubernetes, dan Gitlab. Ini menjadikannya alat sejagat yang boleh menyesuaikan diri dengan pelbagai aliran kerja pembangunan yang berbeza.
Memindahkan pakej anda ke Verdaccio semudah menerbitkannya ke pendaftaran Verdaccio. Anda boleh melakukan ini dengan log masuk ke pendaftaran Verdaccio anda dan menggunakan arahan NPM Publish.
Sudah tentu. Verdaccio direka untuk bekerja dalam persekitaran pasukan. Anda boleh mengawal siapa yang boleh mengakses pakej mana, menjadikannya alat yang hebat untuk kerjasama.
Verdaccio adalah projek sumber terbuka, dan sumbangan dialu -alukan pada bila -bila masa. Anda boleh menyumbang dengan melaporkan kesilapan, mencadangkan ciri, meningkatkan dokumentasi, atau mengemukakan permintaan tarik.
Atas ialah kandungan terperinci Tuan rumah, menerbitkan dan mengurus pakej NPM peribadi dengan Verdaccio. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!