"Npm config set registry https://registry.npmjs.org/" tidak berfungsi di file windows bat

193

Saya membuat a.bat di windows 7, isi dari a.bat adalah:

@echo off
npm config set registry https://registry.npmjs.org/

dan kemudian jalankan a.bat, tetapi tidak berfungsi, saya menemukan kata "set" adalah kata kunci khusus untuk npm dan bat, apakah ada metode untuk menyelesaikan pertanyaan ini?

mopduan
sumber
296
Apakah ada orang lain yang datang ke posting ini setiap kali mereka ingin melihat apa url registri npm? haha
kevingilbert100
9
FYI: Saya membutuhkan registri versi .com: yaitu https://registry.npmjs.com/daripadahttps://registry.npmjs.org/
infl3x
@ infl3x mengapa? apa perbedaannya?
htho
7
@ kevingilbert100 npm config get registryuntuk mengetahui URL pendaftaran
Sridhar
2
@Sridhar Nggak. Itu hanya menyediakan set registry saat ini, bukan registry "resmi" npm.
Emobe

Jawaban:

224

Anda seharusnya tidak mengubah registri npm menggunakan .batfile. Alih-alih mencoba menggunakan memodifikasi .npmrcfile yang merupakan konfigurasi untuk npm. Perintah yang benar untuk mengubah registri adalah

npm config set registry <registry url>

Anda dapat menemukan informasi lebih lanjut dengan npm help configperintah, juga memeriksa hak istimewa kapan dan jika Anda menjalankan .batfile dengan cara ini.

Gntem
sumber
mungkin metode yang saya gunakan tidak cocok untuk pertanyaan saya, tapi tetap terima kasih atas jawaban Anda :)
mopduan
2
@MarcellodeSales cobanpm config set registry=<registry url>
L1fescape
7
Bagian configitu tidak perlu, bisa dijalankan hanya npm get registryuntuk melihat arus Anda, dan npm set registry https://registry.npmjs.org/untuk mengaturnya kembali ke default.
AlecRust
apakah npm config mengatur registry <folder node_modules lokal> mungkin. Jika saya tidak ingin mengunduh apa pun dari internet dan semua artefak ada di dalam aplikasi.
sumit sachdeva
85

Kami juga dapat menjalankan instalasi npm dengan registryopsi untuk beberapa URL registri khusus.

npm install --registry=https://registry.npmjs.org/ 
npm install --registry=https://custom.npm.registry.com/ 
Venkat.R
sumber
1
Saya sudah mencarinya sejak lama. Terima kasih sudah berbagi!
falsarella
1
Anda tuan adalah penyelamat.
Raj Gupta
56

Anda dapat mengubah menggunakan .bat pastikan Anda menjalankan perintah panggilan sebelumnya, semoga ini membantu siapa pun di masa depan membuat perintah .bat serupa

call npm config set registry https://registry.npmjs.org/
jsmartfo
sumber
7
@Madil saya tidak tahu. Anda mungkin ingin membuat penghitung atom dan menggunakan sistem event driven untuk memperbarui penghitung. Anda dapat menggunakan database terdistribusi untuk menyimpan penghitung sehingga penghitung Anda sangat tersedia.
prayagupd
19

Pada versi 4.4.1, Anda dapat menggunakan:

npm config set @myco:registry=http://reg.example.com

Di mana @myco adalah ruang lingkup paket Anda. Anda dapat menginstal paket dengan cara ini:

npm install @myco/my-package

ref: https://docs.npmjs.com/misc/scope

Gilberto Alexandre
sumber
15

Mungkin saya terlambat menjawab. Tetapi jika ada yang membutuhkan, mengikuti berfungsi dengan baik, karena saya telah menggunakannya berkali-kali.

npm config set registry=https://registry.npmjs.com/
Kavya Rani
sumber
5

Pada npm versi 3.7.3

npm set registry=http://whatever/

madKakoo
sumber
2

Dengan mengeksekusi .bat Anda, Anda menetapkan konfigurasi hanya untuk sesi itu tidak secara global. Ketika Anda membuka dan cmd prompt lainnya dan menjalankan npm installkonfigurasi itu tidak akan ditetapkan untuk sesi ini jadi modifikasi file .bat Anda sebagai

@echo off
npm config set registry https://registry.npmjs.org/
@cmd.exe /K
rakesh
sumber
1
  1. Tetapkan npm registry secara global

    gunakan perintah di bawah ini untuk memodifikasi file konfigurasi .npmrc untuk pengguna yang masuk

    npm config set registry <registry url>

    Contoh: npm config set registry https://registry.npmjs.org/


  1. Tetapkan Lingkup registri npm

    Lingkup memungkinkan pengelompokan paket terkait secara bersamaan. Paket yang dicakup akan diinstal dalam sub-folder di bawah folder node_modules .

    Contoh : node_modules / @ my-org / packagaename

    Untuk mengatur ruang lingkup penggunaan registri: npm config set @my-org:registry http://example.reg-org.com

    Untuk menginstal paket menggunakan ruang lingkup gunakan: npm install @my-org/mypackage

    setiap kali Anda menginstal paket apa pun dari scope @ my-org npm akan mencari dalam pengaturan registri yang ditautkan dengan scope @ my-org untuk url registri.


  1. Tetapkan npm registry secara lokal untuk suatu proyek

    Untuk memodifikasi registri npm hanya untuk proyek saat ini. buat file di dalam folder root proyek sebagai.npmrc

    Tambahkan konten di bawah ini dalam file

   registry = 'https://registry.npmjs.org/'
Ivix4u
sumber
0
2.name can no longer contain capital letters

jangan gunakan huruf kapital untuk paket Anda:

npm install --save uex

Gunakan ini:

npm install --save vuex
Hamid Shariati
sumber
0

Anda mungkin tidak dapat mengubah registri npm menggunakan .batfile seperti yang ditunjukkan Gntem . Tapi saya mengerti bahwa Anda perlu kemampuan untuk mengotomatiskan pendaftar yang berubah. Anda dapat melakukannya dengan meminta .npmrckonfigurasi Anda di file yang terpisah (katakanlah npmrc_jfrog & npmrc_default ) dan minta .batfile Anda melakukan tugas penyalinan.

Misalnya (di Windows): Anda default_registry.batakan punya

xcopy /y npmrc_default .npmrc

dan jfrog_registry.batakan Anda miliki

xcopy /y npmrc_jfrog .npmrc

Catatan: /y menekan yang meminta untuk mengkonfirmasi bahwa Anda ingin menimpa file tujuan yang ada.

Ini akan memastikan bahwa semua properti konfigurasi ( registri, proksi, apiKeys, dll. ) Disalin ke .npmrc.

Anda dapat membaca lebih lanjut tentang xcopy di sini .

Srichakra
sumber