Npmrc file dan mengoptimalkan pengaturan lingkungan Node.js

Npm adalah alat kerja sehari-hari untuk pengembang Node.js. Secara harfiah, ini adalah sesuatu yang kita gunakan setiap hari dan beberapa kali sehari. Ini adalah salah satu bagian dari ekosistem Node.js yang telah membawa platform ini menuju kesuksesan.



Salah satu fitur npm CLI yang paling penting dan berguna adalah fitur ini sangat dapat disesuaikan. Kemungkinan untuk menyesuaikannya sangat besar. Ini memungkinkan semua kategori pengguna untuk bekerja secara efektif dengan npm - dari organisasi besar hingga pengembang independen.



Salah satu mekanisme kustomisasi npm adalah .npmrc. Saya sudah lama mengamati diskusi seputar file ini. Saya terutama ingat saat saya berpikir bahwa dengan menggunakan file ini Anda dapat mengubah nama direktorinyanode_modules... Untuk waktu yang lama, saya tidak begitu mengerti betapa bermanfaatnya itu .npmrc, dan memang bagaimana menggunakannya sama sekali. Oleh karena itu, hari ini saya ingin berbicara tentang beberapa kemungkinan untuk menyesuaikan lingkungan kerja Node.js menggunakan . Pengaturan ini membantu saya menjadi lebih efisien saat menyiapkan modul Node.js dan saat mengerjakan aplikasi jangka panjang.







.npmrc



Otomatisasi perintah npm init sedikit lebih maju dari biasanya



Saat membuat modul baru dari awal, pekerjaan biasanya dimulai dengan sebuah tim npm init. Beberapa pengembang tidak tahu satu atau dua hal tentang perintah ini. Faktanya adalah bahwa proses pembuatan modul baru bisa sangat otomatis dengan menggunakan perintah tampilan npm config set ...yang memungkinkan Anda menyetel opsi yang diganti secara default saat Anda npm initmulai mengajukan pertanyaan tentang proyek baru.



Yakni, ini adalah bagaimana Anda dapat menentukan nama, alamat email, URL situs web, informasi lisensi, versi awal modul. Ini adalah perintah berikut:



npm config set init.author.name "Hiro Protagonist"
npm config set init.author.email "hiro@showcrash.io"
npm config set init.author.url "http://hiro.snowcrash.io"
npm config set init.license "MIT"
npm config set init.version "0.0.1"


Dalam contoh ini, saya telah menetapkan beberapa nilai default untuk pengembang Hiro. Data pribadi pengembang tidak terlalu sering berubah, jadi menyetel beberapa nilai default memungkinkan Anda untuk tidak memasukkannya secara manual setiap kali.



Selain itu, ada beberapa nilai yang terkait dengan modul.



Yang pertama adalah lisensi yang akan otomatis ditawarkan oleh tim npm init. Saya pribadi lebih suka menggunakan lisensi MIT. Sebagian besar pengembang Node.js melakukan hal yang sama. Jadi, di sini Anda dapat mengatur apa pun yang Anda inginkan. Kemampuan untuk secara otomatis memilih lisensi yang Anda gunakan merupakan pengoptimalan yang baik.



Nilai kedua adalah versi awal modul. Ini memang sepele, tapi kesempatan ini benar-benar membuat saya bahagia. Faktanya adalah setiap kali saya mulai membuat modul, saya tidak ingin memulai dengan versi 1.0.0, yang ditawarkan secara default npm init. Saya selalu mengatur nomor versi ke 0.0.1, dan kemudian, saat saya mengerjakan modul, menambahnya menggunakan perintah seperti npm version [ major | minor | patch ].



Mengubah registri npm standar



Kemajuan tidak berhenti, jadi ekosistem npm memiliki lebih banyak peluang untuk bekerja dengan pendaftar paket. Misalnya, Anda mungkin perlu menggunakan sebagai cache registri dari modul yang pengembang tahu akan dibutuhkan untuk aplikasi tersebut. Atau mungkin seseorang memutuskan untuk menggunakan registri modul yang telah lulus semacam verifikasi dan sertifikasi tambahan. Bahkan ada registry modul terpisah untuk Yarn, tetapi topik ini, meskipun sangat menarik, tidak berlaku untuk percakapan kita hari ini.



Jadi, jika Anda perlu menggunakan registri modul Anda sendiri dengan npm, ini dilakukan dengan perintah satu baris sederhana:



npm config set registry "https://my-custom-registry.registry.nodesource.io/"


Alamat registri konvensional yang digunakan dalam perintah ini dapat diganti dengan alamat registri yang kompatibel. Untuk mengatur ulang pengaturan ini ke nilai default, Anda dapat menjalankan perintah yang sama dengan alamat registri standar yang diteruskan kepadanya:



npm config set registry "https://registry.npmjs.com/"


Parameter loglevel dan setelan apa yang dicetak oleh perintah npm install ke konsol



Saat Anda menginstal modul menggunakan perintah npm install, seluruh air terjun informasi jatuh ke tangan Anda. Alat baris perintah, secara default, membatasi jumlah informasi tersebut. Ada berbagai tingkat detail dalam output. Ini dapat dikonfigurasi baik saat menginstal npm, atau dengan mengatur parameter yang ditulis .npmrcdan digunakan secara default. Ini dilakukan dengan menggunakan perintah view npm config set loglevel=»..». Berikut adalah opsi untuk nilai parameter loglevel- dari yang paling "singkat" hingga yang paling "banyak bicara":



  • diam
  • kesalahan
  • memperingatkan
  • http
  • info
  • bertele-tele
  • bodoh


Beginilah tampilan instalasi paket saat menggunakan parameter loglevelyang ditulis ke silent.



gambar

Mode senyap untuk menampilkan informasi saat menginstal paket



Inilah yang terjadi jika diatur loglevelke silly.



gambar

Modus keluaran konyol saat menginstal paket



Jika Anda ingin lebih banyak (atau sedikit lebih sedikit) informasi ditampilkan saat menginstal paket daripada biasanya loglevel, Anda dapat mengubah nilai default. Misalnya - seperti ini:



npm config set loglevel="http"


Jika Anda bereksperimen sedikit dengan pengaturan ini dan memutuskan untuk mengatur ulang ke default yang digunakan CLI npm, jalankan perintah berikut:



npm config set loglevel="warn"


Mengubah tempat npm menginstal modul global secara default



Ini adalah kesempatan yang luar biasa. Perlu sedikit mengutak-atik untuk mendapatkan npm untuk menginstal paket global ke lokasi baru, tetapi usahanya sepadan dengan usahanya. Intinya adalah dengan bantuan beberapa perintah, Anda dapat mengubah tempat npm, secara default, menginstal modul global. Mereka biasanya dipasang di folder sistem dengan hak istimewa, yang membutuhkan otoritas administratif. Pada sistem berbasis UNIX, ini berarti bahwa perintah diperlukan untuk menginstal modul global sudo.



Jika Anda menulis di parameter prefixjalur ke direktori tanpa hak istimewa, misalnya,~/.global-modules, ini berarti Anda tidak perlu melakukan otentikasi saat memasang modul global. Inilah salah satu kekuatan penyiapan ini. Poin kuat lainnya adalah bahwa modul yang diinstal secara global tidak akan lagi berada di direktori sistem, yang mengurangi kemungkinan beberapa modul berbahaya (sengaja atau tidak) akan melakukan sesuatu yang buruk pada sistem.



Pertama, mari buat folder baru dengan nama global-modulesdan tulis ke prefix:



mkdir ~/.global-modules
npm config set prefix "~/.global-modules"


Selanjutnya, jika kami tidak memiliki file ~/.profile, kami akan membuat file seperti itu di direktori root pengguna. Mari tambahkan yang berikut ke file ini:



export PATH=~/.global-modules/bin:$PATH


Baris dalam file ini ~/.profileakan menambahkan folder global-moduleske PATHdan akan menggunakan folder ini untuk menginstal modul npm global.



Sekarang, di terminal, Anda perlu menjalankan perintah berikut untuk memperbarui PATHmenggunakan file yang baru saja Anda edit ~/.profile:



source ~/.profile


Hasil



Artikel ini ditulis untuk membantu siapa saja yang ingin menyiapkan lingkungan pengembangan Node.js persis seperti yang mereka inginkan. Berikut adalah dokumentasi untuk perintah tersebut npm config. Ini filenya .npmrc.



Bagaimana Anda mengkonfigurasi npm?






All Articles