"Реєстр npm config set https://registry.npmjs.org/" не працює у файлі bat bat


191

Я створюю a.bat на Windows 7, вміст a.bat такий:

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

а потім запустіть a.bat, але не працює, я знаходжу, що слово "set" є спеціальним ключовим словом для npm та bat, чи є якісь способи вирішити це питання?


295
Хтось ще просто приходить на цю посаду кожного разу, коли вони хочуть побачити, що таке URL реєстру npm? ха-ха
kevingilbert100

9
FYI: мені потрібна .com версія реєстру: тобто, https://registry.npmjs.com/а неhttps://registry.npmjs.org/
infl3x

@ infl3x чому? які відмінності?
htho

7
@ kevingilbert100, npm config get registryщоб знати URL-адресу реєстру
Sridhar

2
@Sridhar Nope. Це забезпечує лише поточний реєстр наборів, а не "офіційний" реєстр npm.
Емобе

Відповіді:


222

Не слід змінювати реєстр npm за допомогою .batфайлів. Натомість спробуйте використовувати модифікувати .npmrcфайл, для якого є конфігурація npm. Правильна команда для зміни реєстру

npm config set registry <registry url>

Ви можете знайти додаткову інформацію за допомогою npm help configкоманди, а також перевірити наявність привілеїв, коли та чи використовуєте Ви .batфайли таким чином.


Можливо, метод, який я використав, не підходить для мого запитання, але все ж дякую за вашу відповідь :)
mopduan

2
Спробуйте @MarcellodeSalesnpm config set registry=<registry url>
L1fescape

7
configЧастина не є необхідним, може працювати тільки npm get registryпобачити свій струм, і npm set registry https://registry.npmjs.org/встановити його назад в стан за замовчуванням.
AlecRust

це можливий реєстр набору npm config <папка локальних node_modules>. Якщо я не хочу нічого завантажувати з Інтернету, і всі артефакти знаходяться в додатку.
sumit sachdeva

84

Ми також можемо запустити npm install з registryопціями для кількох користувацьких URL-адрес реєстру.

npm install --registry=https://registry.npmjs.org/ 
npm install --registry=https://custom.npm.registry.com/ 

1
Я довго його шукав. Дякую, що поділились!
фальсарела

1
ви, сер, рятівник.
Радж Гупта

56

Ви можете змінити, використовуючи .bat, переконайтеся, що запускаєте команду виклику раніше, сподіваємось, це допоможе комусь у майбутньому робити подібні команди .bat

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

7
@Milad я не знаю. Ви можете створити атомний лічильник і використовувати систему, керовану подіями, щоб оновити лічильник. Ви можете використовувати розподілену базу даних для зберігання лічильника, щоб ваш лічильник був високодоступним.
prayagupd


15

Напевно, я запізнився відповісти. Але якщо комусь це потрібно, наступне працює добре, оскільки я його багато разів використовував.

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


2

Виконуючи свій .bat, ви встановлюєте конфігурацію лише для цього сеансу, а не глобально. Коли ви відкриєте та інший CMD-підказок та запустіть, npm installцей конфігурація не встановиться для цього сеансу, тож змініть ваш .bat файл як

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

1
  1. Встановити реєстр npm у всьому світі

    скористайтеся командою нижче, щоб змінити конфігураційний файл .npmrc для входу в систему

    npm config set registry <registry url>

    Приклад: npm config set registry https://registry.npmjs.org/


  1. Встановити область реєстру npm

    Області застосування дозволяють групувати пов'язані пакети разом. Об'ємні пакети будуть встановлені в підпапці під папкою node_modules .

    Приклад : node_modules / @ my-org / packgaename

    Для встановлення реєстру сфери використання використовуйте: npm config set @my-org:registry http://example.reg-org.com

    Щоб встановити пакети з використанням області використання: npm install @my-org/mypackage

    щоразу, коли ви встановлюєте будь-які пакунки з області @ my-org npm, буде шукати в налаштуваннях реєстру, пов’язаному зі сферою @ my-org, URL-адресу реєстру.


  1. Встановити реєстр npm локально для проекту

    Змінити реєстр npm лише для поточного проекту. створити файл всередині кореневої папки проекту як.npmrc

    Додайте нижче вміст у файл

   registry = 'https://registry.npmjs.org/'

0
2.name can no longer contain capital letters

не використовуйте великих літер у своєму пакеті:

npm install --save uex

використовуй це:

npm install --save vuex

0

Можливо, ви не зможете змінити реєстр npm, використовуючи .batфайл, як вказував Gntem . Але я розумію, що вам потрібна можливість автоматизації змін реєстрів. Для цього можна встановити свої конфігурації.npmrc в окремих файлах (скажімо, npmrc_jfrog & npmrc_default ) і дозволити .batфайлам виконувати завдання з копіювання.

Наприклад (у Windows): Ваш default_registry.batбуде

xcopy /y npmrc_default .npmrc

і jfrog_registry.batбуде ваша воля

xcopy /y npmrc_jfrog .npmrc

Примітка: /y пригнічує запит підтвердити, що ви хочете перезаписати існуючий файл призначення.

Це забезпечить копіювання всіх властивостей конфігурації ( реєстр, проксі, apiKeys тощо ) .npmrc.

Більше про xcopy ви можете прочитати тут .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.