“npm 구성 세트 레지스트리 https://registry.npmjs.org/”가 Windows bat 파일에서 작동하지 않습니다


192

Windows 7에서 a.bat를 만들면 a.bat의 내용은 다음과 같습니다.

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

그런 다음 a.bat를 실행하지만 작동하지 않는 경우 "set"이라는 단어가 npm 및 bat의 특수 키워드라는 것을 알았습니다.이 질문을 해결할 방법이 있습니까?


296
npm 레지스트리 URL이 무엇인지 알고 싶을 때마다 다른 사람 이이 게시물을 보셨습니까? haha
kevingilbert100

9
참고 : 레지스트리의 .com 버전이 필요했습니다.https://registry.npmjs.com/https://registry.npmjs.org/
infl3x

왜 @ infl3x? 차이점은 무엇입니까?
htho

7
@ kevingilbert100 npm config get registry레지스트리 URL을 알고
Sridhar

2
@Sridhar Nope. "공식"npm 레지스트리가 아닌 현재 설정된 레지스트리 만 제공합니다.
Emobe

답변:


223

.bat파일을 사용하여 npm 레지스트리를 변경해서는 안됩니다 . 대신에 .npmrc대한 구성 파일을 수정하십시오 npm. 레지스트리 변경을위한 올바른 명령은

npm config set registry <registry url>

npm help config명령을 사용 하여 자세한 정보를 찾을 수 있으며 .bat파일을 이런 식으로 실행할 때 권한이 있는지 확인하십시오 .


내가 사용한 방법이 내 질문에 적합하지 않지만 여전히 귀하의 답변에 감사드립니다 :)
mopduan

2
@MarcellodeSales 시도npm config set registry=<registry url>
L1fescape

7
config부분은 필요하지 않으며 npm get registry현재 npm set registry https://registry.npmjs.org/상태를 확인하고 기본값으로 다시 설정하기 위해 실행할 수 있습니다 .
AlecRust

npm config set registry <local node_modules folder>가 가능합니다. 인터넷에서 아무것도 다운로드하지 않고 모든 아티팩트가 앱 내에 있습니다.
sumit sachdeva

84

registry여러 사용자 지정 레지스트리 URL에 대한 옵션을 사용하여 npm install을 실행할 수도 있습니다 .

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

1
나는 오랫동안 그것을 찾고 있었다. 공유해 주셔서 감사합니다!
falsarella

1
당신은 구세주입니다.
Raj Gupta

56

.bat를 사용하여 변경할 수 있습니다. 이전에 call 명령을 실행하십시오.

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

7
@Milad 몰라요. 원자 카운터를 작성하고 이벤트 구동 시스템을 사용하여 카운터를 업데이트 할 수 있습니다. 분산 데이터베이스를 사용하여 카운터의 가용성을 높이기 위해 카운터를 저장할 수 있습니다.
prayagupd 2016 년


15

아마 나는 대답하기에 너무 늦었다. 그러나 누군가가 그것을 필요로한다면, 나는 그것을 많이 사용했기 때문에 다음과 같이 잘 작동합니다.

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

5

npm 버전 3.7.3에서

npm set registry=http://whatever/


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 / packagaename

    범위 레지스트리를 설정하려면 다음을 수행하십시오. 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

Gntem이 지적한 .bat대로 파일을 사용하여 npm 레지스트리를 변경하지 못할 수 있습니다 . 그러나 변화하는 레지스트리를 자동화 할 수있는 능력이 필요하다는 것을 알고 있습니다. 당신은 당신의 필요에 의해 그렇게 할 수있는 별도의 파일에 CONFIGS을 (말 npmrc_jfrog & npmrc_default )과이 파일 작업을 복사 않습니다..npmrc.bat

(윈도우에서) 예를 들면 : 당신이 default_registry.bat해야합니다

xcopy /y npmrc_default .npmrc

그리고 당신의 jfrog_registry.bat의지

xcopy /y npmrc_jfrog .npmrc

참고 : /y 기존 대상 파일을 덮어 쓸지 묻는 메시지가 표시되지 않습니다.

이렇게하면 모든 구성 속성 ( 레지스트리, 프록시, apiKey 등 )이 복사됩니다..npmrc .

xcopy에 대한 자세한 내용은 여기를 참조 하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.