Ditulis oleh Rosario De Chiara✏️
mise dan asdf ialah alatan yang direka untuk membantu pembangun mengurus berbilang versi bahasa pengaturcaraan dan persekitaran. Kedua-dua alatan itu bertujuan untuk memudahkan pembangunan polyglot dengan menjadikannya lebih mudah untuk mengurus dan bertukar antara versi alat, yang merupakan cabaran biasa apabila bekerja dengan bahasa pengaturcaraan dan rangka kerja yang berbeza.
Apa itu asdf?
asdf ialah pengurus versi popular yang menggunakan teknik yang dipanggil "shimming" untuk bertukar antara versi alat yang berbeza seperti Python, Node.js dan Ruby. Ia mencipta laluan sementara ke versi tertentu, mengubah suai persekitaran untuk memastikan versi alat yang betul digunakan dalam projek yang berbeza. Walau bagaimanapun, kaedah ini boleh memperkenalkan prestasi overhed kerana cara shim ini berfungsi.
Apa itu mise?
mise, singkatan untuk ungkapan Perancis "mise-en-place," iaitu cara anda menyediakan meja, berusaha untuk menambah baik pada asdf dengan menghilangkan pergantungan pada shim.
Ditulis dalam Rust, mise mengubah suai terus pembolehubah persekitaran PATH, yang membawa kepada masa pelaksanaan yang lebih pantas. Ia direka bentuk untuk berfungsi dengan lancar dengan pemalam asdf tetapi menawarkan ciri seperti padanan kabur arahan dan keupayaan untuk memasang berbilang versi alat yang sama secara serentak.
Bermula dengan asdf
Untuk memasang asdf, ikut panduan permulaan untuk memasang prasyarat bergantung pada sistem anda. Setelah persekitaran sedia, anda boleh git mengklon repositori rasmi dalam direktori rumah anda:
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.1
Arahan di atas akan mengklon ke dalam direktori .asdf semua skrip dan fail konfigurasi yang diperlukan untuk memuktamadkan pemasangan.
Langkah seterusnya, daripada panduan pemasangan di atas, adalah untuk melaksanakan skrip pemasangan. Sekali lagi, langkah ini bergantung pada butiran persekitaran dan sistem pengendalian anda, jadi ikuti sahaja panduan untuk menambah skrip skrip yang betul dalam skrip permulaan shell anda (cth., .bashrc, .bash_profile, dll.). Pada penghujung proses ini dan, biasanya selepas anda memulakan semula shell anda, anda sepatutnya dapat menjalankan asdf sebagai arahan:
Pada ketika ini, asdf sedang berjalan tetapi untuk menjadikan sesuatu yang berguna dengannya, anda mesti memasang pemalam untuk mengendalikan alat (dalam bahasa asdf) yang berkaitan dengan projek yang anda ingin bangunkan (cth., Node.js, ular sawa, dll.).
Untuk tujuan ini, kami memasang pemalam untuk Node.js. Dalam asdf, pemalam ialah sekeping kod yang akan membolehkan anda menyesuaikan versi rangka kerja atau pustaka yang berbeza. Dalam kes ini, kami akan memasang pemalam Node.js dan kemudian memasang beberapa versi Node.js hanya untuk memahami cara asdf akan mengendalikannya.
Kami akan memasang pemalam Node.js dengan kod berikut:
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.1
Sila ambil perhatian bahawa anda perlu menangani secara eksplisit repositori git yang mengandungi kod sumber pemalam. Setelah pemalam itu disediakan, anda boleh menggunakannya untuk memasang versi Node.js tertentu dengan arahan berikut:
$ asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
Dalam contoh ini, anda memasang versi terkini yang, pada masa penulisan, ialah 23.1.0. Dengan arahan berikut, anda memasang versi khusus Node.js:
$ asdf install nodejs latest
Untuk memastikan kedua-duanya tersedia dalam sistem anda, gunakan yang berikut:
$ asdf install nodejs 20.0.0
Untuk memilih versi Node.js untuk digunakan, gunakan arahan berikut:
$ asdf shim-versions node nodejs 20.0.0 nodejs 23.1.0
asdf mengendalikan pelbagai versi alat dengan mengisi fail bernama [.tool-versions](https://asdf-vm.com/manage/configuration.html#tool-versions) dengan format berikut:
$ asdf global nodejs 20.0.0 $ node --version v20.0.0 $ asdf global nodejs 23.1.0 $ node --version v23.1.0
Fail .tool-versions dimanipulasi secara automatik oleh asdf dengan arahan untuk menentukan versi mana yang anda ingin gunakan, seperti yang kami lakukan di atas dengan Node.js versi 20.0.0. Bergantung pada parament global, shell dan local, kami akan menambah versi alat pada fail .tool-versions tertentu dengan kesan berbeza pada persekitaran anda. Berikutan, terdapat penjelasan tentang kesan parameter sekiranya kami memasang Node.js versi 20.0.0:
- asdf global nodejs 20.0.0: Dalam kes ini, kami berhasrat untuk menggunakan versi khusus ini di seluruh sistem di mana sahaja ia tidak dinyatakan secara berbeza
- asdf shell nodejs 20.0.0: Ini adalah kes di mana kita mahu menggunakan versi Node.js ini hanya untuk sesi shell semasa
- asdf local nodejs 20.0.0: Rasa perintah ini akan mencipta .tool-versions yang menentukan versi Node.js hanya sah untuk direktori tempat perintah itu dilaksanakan. Ini bermakna kami boleh mempunyai versi yang berbeza bagi alat yang sama dalam sub-direktori projek anda yang berbeza. Ini adalah ciri yang cukup kemas, relevan untuk projek yang kompleks. Dalam imej berikut, anda boleh melihat bagaimana ini mempengaruhi persekitaran anda:
ruby 2.5.3 nodejs 10.15.0
Dengan arahan pertama, kami memberitahu asdf untuk menggunakan versi 20.0.0 dalam direktori rumah dan nod --version mengesahkan versi. Kemudian, kami mencipta direktori bernama ujian. Dalam ujian, kami melaksanakan asdf, menyatakan versi berbeza untuk Node (versi 23.1.0) dan, sekali lagi, nod --version mengesahkan bahawa kami menggunakan versi 23.1.0. Akhirnya, kembali ke direktori utama, anda boleh melihat bagaimana versi Node.js secara setempat masih 20.0.0.
Apa itu shim?
Sekarang kami mempunyai asdf yang bekerja pada sistem kami, mari kita pelajari apa itu shim dan mengapa ia penting apabila bekerja dengan asdf.
Dalam sains komputer, shim ialah satu cara untuk mengubah hala arahan (cth., penyerahan kaedah perpustakaan) secara telus antara versi yang berbeza. Kuncinya di sini ialah perkataan "secara telus." Keseluruhan idea asdf adalah untuk membenarkan pengguna menukar apa yang sebenarnya dipanggil apabila anda menulis, katakan, nod atau python atau mana-mana pakej lain, dengan cara yang telus. Pengguna terus menaip nod atau python tetapi asdf telah menyediakan laluan berbeza – shim – ke versi yang betul bergantung pada apa yang ditulis dalam fail .tool-versions.
Pemalam hanyalah satu set skrip shell pintar yang membenarkan asdf memilih versi arahan tertentu yang betul (cth., semak pemalam Node.js). Arahan dalam direktori bin hanya melaksanakan perkara yang asdf mesti laksanakan apabila anda menggunakan pemalam Node.js untuk memasang versi baharu, pilih versi tertentu untuk digunakan, dsb.
Bermula dengan mise
Proses memasang mise lebih mudah berbanding asdf kerana anda tidak perlu mengklon repositori git:
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.1
Panduan pengaktifan agak mudah; sebaik sahaja anda melaksanakan arahan di atas dan mulakan semula shell anda, anda akan dapat menjalankan yang berikut:
$ asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
Ini akan menunjukkan status pemasangan anda. Setelah mise dipasang, anda mungkin perlu mengaktifkannya dengan perintah [mise activate](https://mise.jdx.dev/cli/activate.html).
Pada ketika ini, arahan mise tersedia untuk digunakan untuk tugas yang paling biasa: memasang versi rangka kerja tertentu untuk menjadikannya tersedia secara global untuk sistem:
$ asdf install nodejs latest
Kita bermula daripada situasi di mana nod boleh laku tidak berada dalam sistem. Menggunakan arahan mise, kami memasang versi nod tertentu secara global untuk menjadikannya tersedia. Untuk mengesahkan versi alatan yang dipasang pada masa ini, anda boleh menggunakan arahan berikut:
$ asdf install nodejs 20.0.0
Dalam arahan di atas, anda boleh melihat alat nod dipasang dalam kotak di atas dan versi Python.
Membandingkan asdf vs. mise
Rangka kerja mise menggunakan mekanisme asdf yang sama untuk mengendalikan konfigurasi alat yang berbeza di seluruh sistem dan dalam direktori tertentu. Peranan fail .tool-versions dalam asdf dimainkan oleh fail mise.toml, yang akan mengumpulkan konfigurasi.
Dalam mise, tiada konsep yang serupa dengan pemalam asdf, dan ini adalah perkara yang baik kerana, semasa dalam asdf, memasang versi alat tertentu – katakan node@20.0.0 – ialah proses dua langkah ( mula-mula memasang pemalam Node.js dan kemudian versi tertentu Node). Dalam mise, anda hanya menangani versi tunggal alat yang anda perlukan, dan mise akan menangani semua beban berat untuk mengkonfigurasinya untuk anda di sebalik tabir. Dalam dua kotak berikut, anda boleh melihat bagaimana arahan asdf diterjemahkan kepada mise:
$ asdf shim-versions node nodejs 20.0.0 nodejs 23.1.0
Sebenarnya, ini semua boleh dilakukan dalam satu langkah yang memasang pemalam dan masa jalan serta menetapkan versi:
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.1
Perkataan umum asdf diselesaikan secara elegan oleh gula sintaksis mise. Namun, mise berbeza dalam cara ia mengendalikan pelbagai versi, yang mempunyai kesan yang lebih luas pada keseluruhan pengalaman. Dalam imej berikut, kami menggambarkan perkara yang berlaku apabila anda melaksanakan perintah nod dalam persekitaran di mana asdf berfungsi:
Proses ini, sudah tentu, memberi kesan kepada masa yang diperlukan untuk melaksanakan arahan. Sebaliknya, mise menyelesaikan masalah yang sama untuk memilih alat yang betul bergantung pada konfigurasi dengan memanfaatkan mekanisme lain: pembolehubah PATH, yang merupakan mekanisme asli sistem pengendalian untuk melaksanakan arahan.
Persembahan adalah sama dengan menjalankan arahan (cth., nod) tanpa menggunakan mise. Demi rasa ingin tahu, mise berfungsi secara berbeza berkenaan dengan asdf: mise menjejaki setiap perubahan direktori supaya apabila pengguna menukar direktori, mise memanggil cangkuk dalaman untuk mengemas kini pembolehubah PATH. Cangkuk ini sangat cekap kerana ia ditulis dalam Rust dan ia akan menyediakan pembolehubah PATH dengan cepat untuk mengkonfigurasi persekitaran anda.
Kesimpulan
Kedua-dua asdf dan mise menguruskan berbilang versi alat dengan berkesan, masing-masing dengan mekanisme unik. mise cemerlang dalam kecekapan terima kasih kepada mekanisme cangkuk PATHnya, manakala asdf menawarkan keserasian alat yang lebih luas tetapi dengan pertukaran prestasi mekanisme shimnya. keserasian mise dengan pemalam asdf merapatkan jurang antara alatan.
Sama ada mengutamakan kelajuan atau pemilihan, kedua-dua alatan memperkasakan pembangun untuk mengurus persekitaran mereka dengan mudah, menawarkan ekosistem yang berkembang pesat untuk pelbagai pakej dan alatan.
Sediakan dengan penjejakan ralat moden LogRocket dalam beberapa minit:
- Lawati https://logrocket.com/signup/ untuk mendapatkan ID apl.
- Pasang LogRocket melalui NPM atau tag skrip. LogRocket.init() mesti dipanggil bahagian klien, bukan bahagian pelayan.
NPM:
$ asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
Tag Skrip:
$ asdf install nodejs latest
3.(Pilihan) Pasang pemalam untuk penyepaduan yang lebih mendalam dengan timbunan anda:
- Perisian tengah Redux
- ngrx middleware
- Pemalam Vuex
Mulakan sekarang.
Atas ialah kandungan terperinci mise vs. asdf untuk pengurusan persekitaran projek JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

JavaScript berasal pada tahun 1995 dan dicipta oleh Brandon Ike, dan menyedari bahasa itu menjadi C. 1.C Language menyediakan keupayaan pengaturcaraan prestasi tinggi dan sistem untuk JavaScript. 2. Pengurusan memori JavaScript dan pengoptimuman prestasi bergantung pada bahasa C. 3. Ciri lintas platform bahasa C membantu JavaScript berjalan dengan cekap pada sistem operasi yang berbeza.

JavaScript berjalan dalam penyemak imbas dan persekitaran Node.js dan bergantung pada enjin JavaScript untuk menghuraikan dan melaksanakan kod. 1) menjana pokok sintaks abstrak (AST) di peringkat parsing; 2) menukar AST ke bytecode atau kod mesin dalam peringkat penyusunan; 3) Laksanakan kod yang disusun dalam peringkat pelaksanaan.

Trend masa depan Python dan JavaScript termasuk: 1. Kedua -duanya akan terus mengembangkan senario aplikasi dalam bidang masing -masing dan membuat lebih banyak penemuan dalam prestasi.

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

Ya, teras enjin JavaScript ditulis dalam C. 1) Bahasa C menyediakan prestasi yang efisien dan kawalan asas, yang sesuai untuk pembangunan enjin JavaScript. 2) Mengambil enjin V8 sebagai contoh, terasnya ditulis dalam C, menggabungkan kecekapan dan ciri-ciri berorientasikan objek C. 3) Prinsip kerja enjin JavaScript termasuk parsing, penyusun dan pelaksanaan, dan bahasa C memainkan peranan penting dalam proses ini.

JavaScript adalah di tengah -tengah laman web moden kerana ia meningkatkan interaktiviti dan dinamik laman web. 1) Ia membolehkan untuk menukar kandungan tanpa menyegarkan halaman, 2) memanipulasi laman web melalui Domapi, 3) menyokong kesan interaktif kompleks seperti animasi dan drag-and-drop, 4) mengoptimumkan prestasi dan amalan terbaik untuk meningkatkan pengalaman pengguna.

C dan JavaScript mencapai interoperabilitas melalui webassembly. 1) Kod C disusun ke dalam modul WebAssembly dan diperkenalkan ke dalam persekitaran JavaScript untuk meningkatkan kuasa pengkomputeran. 2) Dalam pembangunan permainan, C mengendalikan enjin fizik dan rendering grafik, dan JavaScript bertanggungjawab untuk logik permainan dan antara muka pengguna.

JavaScript digunakan secara meluas di laman web, aplikasi mudah alih, aplikasi desktop dan pengaturcaraan sisi pelayan. 1) Dalam pembangunan laman web, JavaScript mengendalikan DOM bersama -sama dengan HTML dan CSS untuk mencapai kesan dinamik dan menyokong rangka kerja seperti JQuery dan React. 2) Melalui reaktnatif dan ionik, JavaScript digunakan untuk membangunkan aplikasi mudah alih rentas platform. 3) Rangka kerja elektron membolehkan JavaScript membina aplikasi desktop. 4) Node.js membolehkan JavaScript berjalan di sisi pelayan dan menyokong permintaan serentak yang tinggi.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver CS6
Alat pembangunan web visual
