Rumah > Tutorial sistem > LINUX > Cara Membuat Persekitaran Pembangunan Dengan Nix-Shell di Linux

Cara Membuat Persekitaran Pembangunan Dengan Nix-Shell di Linux

Jennifer Aniston
Lepaskan: 2025-03-19 10:11:08
asal
625 orang telah melayarinya

Nix-shell: menyelaraskan aliran kerja pembangunan anda dengan persekitaran terpencil

Bosan dengan juggling versi perisian yang bercanggah dalam pelbagai projek? Nix-Shell menawarkan penyelesaian yang kuat! Alat ini membolehkan anda membuat persekitaran pembangunan terpencil, masing-masing disesuaikan dengan keperluan projek tertentu, memastikan aliran kerja yang lancar dan bebas konflik.

Persekitaran yang terpencil ini menghalang gangguan antara projek, menghapuskan "neraka ketergantungan" yang sering dihadapi apabila versi perisian bertembung. Nix-Shell memudahkan penciptaan dan menukar persekitaran, memastikan persediaan yang konsisten merentasi pelbagai mesin dan meningkatkan kecekapan kerjasama pasukan.

Panduan ini menyediakan langkah demi langkah untuk mewujudkan dan menguruskan persekitaran pembangunan terpencil menggunakan shell Nix pada Linux.

Jadual Kandungan

  • Faedah menggunakan shell nix
  • Membuat dan Menguruskan Persekitaran Pembangunan dengan Nix-Shell
    • Menentukan kebergantungan dengan ungkapan nix
      • Persekitaran cepat, ad-hoc
    • Mengakses shell nix
    • Bekerja di dalam kerang nix
    • Keluar dari kulit nix
  • Soalan Lazim (Soalan Lazim)
  • Kesimpulan

Apa itu nix-shell?

Nix adalah pengurus pakej yang mantap dan membina sistem yang menggunakan pendekatan fungsional dan deklaratif untuk pengurusan ketergantungan. Ia merawat pakej sebagai nilai dalam paradigma pengaturcaraan berfungsi.

Nix-Shell, alat baris arahan yang dibundel dengan Pengurus Pakej Nix, memanfaatkan ekspresi NIX untuk menjana persekitaran pembangunan terpencil. Persekitaran ini merangkumi semua alat, perpustakaan, dan kebergantungan yang diperlukan untuk projek tertentu.

Dengan membina secara bebas setiap pergantungan dan mencegah gangguan, Nix-shell membasmi "neraka ketergantungan" dan menyediakan kawalan berbutir ke atas kebergantungan dalam kedua-dua tetapan pembangunan dan pengeluaran. Pengasingan dan reproducibility ini menjamin persediaan yang konsisten di seluruh sistem yang berbeza dan memudahkan kerjasama pemaju yang lancar.

Faedah menggunakan shell nix

  • Pengasingan: Setiap persekitaran nix-shell diasingkan dari sistem anda dan persekitaran lain, mencegah konflik pergantungan.
  • Reproduktif: Persekitaran ditakrifkan dalam kod, memastikan pembiakan yang konsisten pada mana -mana sistem yang menjalankan NIX.
  • Peningkatan Atom dan Rollbacks: NIX menyokong peningkatan atom dan rollbacks, membolehkan eksperimen selamat dengan kebergantungan.
  • Ujian tanpa pemasangan: Pakej ujian tanpa pemasangan tempatan, sesuai untuk kegunaan aplikasi sementara.

Membuat dan Menguruskan Persekitaran Pembangunan dengan Nix-Shell

Nix-Shell mewujudkan persekitaran yang berasingan dan boleh dihasilkan untuk menguruskan kebergantungan projek, mencegah konflik.

Menentukan kebergantungan dengan ungkapan nix

Pertama, buat ungkapan Nix yang menentukan kebergantungan projek anda. Ini biasanya fail bernama default.nix atau shell.nix dalam direktori root projek anda.

Mari buat projek sampel, myproject :

 $ mkdir myproject
$ cd myproject
$ nano shell.nix
Salin selepas log masuk

Tambahkan yang berikut ke shell.nix :

 {pkgs? import<nixpkgs> {}}:

pkgs.mkshell {
  BuildInputs = [
   pkgs.python38
   pkgs.nodejs
   pkgs.ruby
  ];
}</nixpkgs>
Salin selepas log masuk

Ini mentakrifkan persekitaran dengan Python 3.8, Node.js, dan Ruby. Menjalankan nix-shell dalam direktori ini akan memasangnya secara berasingan.

Versi yang lebih ringkas:

 {pkgs? import<nixpkgs> {}}: pkgs.mkshell {buildInputs = with pkgs.buildpackages; [python38 nodejs ruby]; }</nixpkgs>
Salin selepas log masuk

Simpan dan tutup fail.

Persekitaran cepat, ad-hoc

Untuk persekitaran sementara, gunakan nix-shell -p package1 package2 ... Contohnya:

 nix -shell -p python39packages.numpy python39packages.scipy
Salin selepas log masuk

Mengakses shell nix

Masukkan persekitaran terpencil menggunakan:

 $ nix-shell
Salin selepas log masuk

atau

 $ nix-shell shell.nix
Salin selepas log masuk

Untuk pengasingan maksimum, gunakan --pure :

 $ nix-shell --pure shell.nix
Salin selepas log masuk

Ini mewujudkan sesi shell dengan kebergantungan yang ditentukan.

Bekerja di dalam kerang nix

Dalam persekitaran Nix-Shell, gunakan alat pembangunan anda seperti biasa. Persekitaran terpencil memastikan kebergantungan yang konsisten tanpa mengira sistem tuan rumah.

Sahkan versi yang dipasang:

 [nix -shell: ~/myproject] $ python -v
[nix -shell: ~/myproject] $ node -v
[nix -shell: ~/myproject] $ ruby ​​-v 
Salin selepas log masuk

Cara Membuat Persekitaran Pembangunan Dengan Nix-Shell di Linux

Keluar dari kulit nix

Keluar menggunakan exit atau CTRL D . Keluar menghilangkan persekitaran sementara, membalikkan tetapan shell ke keadaan terdahulu mereka tanpa menjejaskan sistem anda. Fail projek kekal tidak berubah. Pakej yang tidak digunakan di kedai Nix boleh dikeluarkan melalui pengumpulan sampah ( nix-collect-garbage -d ).

Soalan Lazim (Soalan Lazim)

S: Apakah nix-shell? A: Alat baris arahan yang mewujudkan persekitaran shell sementara, terpencil dengan pakej perisian tertentu.

S: Bagaimana saya memasangnya? A: Ia adalah sebahagian daripada Pengurus Pakej Nix; Pasang Nix terlebih dahulu.

S: Bagaimana saya mewujudkan persekitaran terpencil? A: Gunakan fail shell.nix yang menentukan kebergantungan, atau gunakan nix-shell -p ... untuk persekitaran ad-hoc.

S: Apakah OS yang menyokongnya? A: Kebanyakan sistem seperti UNIX (Linux, MACOS); Pengguna Windows boleh menggunakan WSL.

S: Apa yang berlaku semasa keluar? A: Persekitaran dikeluarkan; Tetapan shell kembali; fail projek kekal.

S: Bagaimanakah ia mengelakkan "neraka ketergantungan"? A: Pendekatan fungsional Nix memastikan pakej terpencil membina, mencegah konflik.

S: Bolehkah saya menyelamatkan keadaan persekitaran? A: Fail shell.nix boleh dihasilkan semula; Untuk senario yang lebih kompleks, meneroka keupayaan pakej dan konfigurasi Nix.

S: Bagaimana saya menambah/mengeluarkan pakej? A: Ubah suai senarai buildInputs shell.nix atau laraskan bendera -p .

S: Bagaimana saya melakukan koleksi sampah? A: Gunakan nix-collect-garbage -d .

Kesimpulan

NIX-Shell menyelaraskan pembangunan dengan menyediakan ruang kerja projek terpencil. Ini menghalang konflik dan memastikan persekitaran yang konsisten merentasi mesin, membolehkan anda memberi tumpuan kepada pengekodan dan bukannya pengurusan ketergantungan.

Sumber:

  • Dokumentasi Rasmi Nix-Shell

Artikel Berkaitan:

  • Buat persekitaran maya NodeJS menggunakan Conda di Linux
  • Buat persekitaran maya karat menggunakan conda di linux
  • Buat Persekitaran Maya Golang Menggunakan Conda di Linux
  • Cara menguruskan pakej python menggunakan pip
  • PIPX - Pasang dan jalankan aplikasi Python dalam persekitaran terpencil
  • PIPENV - Alat Pembungkusan Python yang disyorkan secara rasmi

Atas ialah kandungan terperinci Cara Membuat Persekitaran Pembangunan Dengan Nix-Shell di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan