[ ] Instalasi Windows saya bukan bahasa Inggris.
[x] baca README untuk mengetahui masalah npm gotcha & antivirus.
[x] memastikan ini bukan pertanyaan tentang cara menggunakan NVM untuk Windows, karena gitter digunakan untuk pertanyaan dan komentar.
[ ] pengaturan.txt
Hasil yang sama dengan nvm use 4.4.4
Keluaran: node v (64-bit) is not installed.
membuat file .nvmrc
dengan 4.4.4
sebagai versi simpul.
buka baris perintah dan jalankan nvm use
di folder yang sama dengan file.
.nvmrc
tidak pernah didukung. Itu fitur khusus untuk nvm, bukan NVM untuk Windows.
@coreybutler Saya dari Proyek Akuntabilitas Bencana dan kami memiliki beberapa pengembang yang menggunakan windows dan tidak dapat memanfaatkan .nvmrc
. Kami mulai mengadopsi nvm-windows
untuk pengembang web sukarelawan kami dan saya ingin Anda mempertimbangkan kembali untuk mendukung .nvmrc
. Ini adalah situs tempat kami menggunakan .nvmrc.
@inunotaisho26 - Pada dasarnya, proyek ini berfokus pada persiapan Node seolah-olah diinstal dengan cara yang sama Node akan diinstal tanpa manajer versi. .nvmrc
mulai masuk ke masalah manajemen lingkungan tertentu, yang secara drastis meningkatkan cakupan proyek. Saya melihat "manajemen lingkungan" menjadi masalah yang berbeda secara fundamental dari "manajemen versi". Kami telah membahas kasus penggunaan yang berbeda ini di grup kerja manajemen versi .
Meskipun fitur ini telah diminta sebelumnya, saya tidak memiliki cukup waktu luang untuk mendukungnya. Karena jumlah orang yang meminta solusi manajemen lingkungan umum (selain hanya .nvmrc), saya bereksperimen dengan ide-ide untuk aplikasi manajemen lingkungan komersial untuk merampingkan proses ini. Persyaratan waktu untuk mendukung daftar keinginan besar komunitas akan membutuhkan pendanaan atau sponsor, jadi saya mungkin akan bersandar pada infrastruktur yang telah saya bangun untuk Fenix . Hasil tangkapan: tidak ada ETA.
Yang mengatakan, lihat peta jalan . Solusi "gratis" yang saya usulkan adalah sistem kait, mirip dengan git pre-commit
, post-push
, dll. Ini akan memungkinkan pengembang untuk membuat skrip mereka sendiri yang kondusif untuk lingkungan unik mereka sendiri. Pikirkan tindakan seperti post-install
, pre-use
, pre-execute
, dll. Ini akan memungkinkan pengguna untuk menulis skrip kait yang mencari file .nvmrc dan mengganti versi dengan cepat .
@coreybutler Jadi pada dasarnya dua pendekatan berbeda untuk menginstal beberapa versi node kan?
semacam. Ada dua filosofi yang berbeda, tetapi lebih tentang _using_ Node daripada menginstalnya.
Filosofi 1: Penggunaan Asli (Proses Langsung)
Node itu sendiri tidak mendukung .nvmrc
. Itu hanya menginstal executable dan npm-nya sendiri. Ini _used_ dengan langsung menjalankan node.exe.
Filosofi 2: Penggunaan yang Diperbesar (Subproses)
.nvmrc
adalah konvensi yang diperkenalkan oleh proyek nvm asli. Alih-alih memanggil node.exe secara langsung, ia menggunakan shim. Shim bertanggung jawab untuk mengonfigurasi lingkungan semu sebelum meneruskan perintah ke node yang dapat dieksekusi (mis. node adalah subproses dari shim). Di sinilah logika .nvmrc
diproses. Tangkapannya, terutama pada Windows, adalah bahwa node berjalan dalam konteks shim, bukan konteks pengguna. Ini memiliki sejumlah efek/tantangan, seperti tidak selalu memberikan kredensial yang sesuai ke subproses node (kebanyakan di sekitar izin yang ditingkatkan), variabel lingkungan yang sedikit berbeda, tidak selalu mengenali partisi hard drive (seperti drive D:\), dan (dalam beberapa kasus) salah mengartikan jalur file (yaitu __dirname
berperilaku tidak terduga) dll. Masalah ini dapat diatasi, tetapi mereka digabungkan ketika mempertimbangkan lingkungan perusahaan (penyebaran Active Directory, desktop terbatas, drive SAN, dll).
Manajemen versi umum memerlukan beberapa tingkat shimming untuk mencegah benar-benar menghapus/menginstal ulang node setiap kali Anda perlu mengganti versi (yang akan memakan waktu lama). NVM4W sejalan dengan pendekatan pertama dengan menggunakan symlink untuk menggeser _directory_ instalasi, sebagai lawan dari opsi 2, yang menggeser executable. Akibatnya, Anda selalu menjalankan node.exe yang dapat dieksekusi secara langsung, alih-alih menjalankannya sebagai subproses..
Benjolan kecil untuk masalah ini. Hanya berlari ke dalamnya.
Ini tidak bisa terlalu sulit. Inilah yang harus dilakukan jika versi tidak diberikan ke nvm use
:
Dengan kata lain, tanpa nomor versi yang ditentukan, nvm use
adalah kombinasi dari nvm install < .nvmrc
dan nvm use < .nvmrc
(perintah semu - tidak akan benar-benar berfungsi sekarang).
Tidak ada banyak lagi untuk itu.
Benjolan kecil untuk masalah ini. Hanya berlari ke dalamnya.
Ini tidak bisa terlalu sulit. Inilah yang harus dilakukan jika versi tidak diberikan ke
nvm use
:1. Take version from .nvmrc 2. Is this version installed? If not -> install it 3. Is this version currently in use? If not -> use it. 4. Done
Dengan kata lain, tanpa nomor versi yang ditentukan,
nvm use
adalah kombinasi darinvm install < .nvmrc
dannvm use < .nvmrc
(perintah semu - tidak akan benar-benar berfungsi sekarang).Tidak ada banyak lagi untuk itu.
Saya senang saya bukan satu-satunya yang memiliki masalah ini ...
Berpikir untuk beralih kembali ke linux untuk pengembangan :/
@thany @jeromemeichelbeck Jangan ragu untuk
Komentar yang paling membantu
Benjolan kecil untuk masalah ini. Hanya berlari ke dalamnya.
Ini tidak bisa terlalu sulit. Inilah yang harus dilakukan jika versi tidak diberikan ke
nvm use
:Dengan kata lain, tanpa nomor versi yang ditentukan,
nvm use
adalah kombinasi darinvm install < .nvmrc
dannvm use < .nvmrc
(perintah semu - tidak akan benar-benar berfungsi sekarang).Tidak ada banyak lagi untuk itu.