npm 설치 오류 : rollbackFailedOptional


82

npm install새 패키지를 시도하면 다음 오류가 표시됩니다.

rollbackFailedOptional : 동사 npm-session 585aaecfe5f9a82

node --version
8.4.0

npm --version
5.3.0

1
나는 또한 같은 오류가 발생합니다. 이것에 대한 해결책을 찾았습니까?
Anil

회사의 방화벽 때문일 가능성이 큽니다. 회사가 아닌 인터넷 연결을 사용하거나 회사 관리자가 제공하는 프록시를 설정하여 NPM 저장소 서버에 연결하십시오.
Prometheus

답변:


90
    # first this
    > npm config rm proxy
    > npm config rm https-proxy

    # then this
    > npm config set registry https://registry.npmjs.org/

내 문제를 해결했습니다.

다시 말하지만 인터넷이 제대로 연결되어 있는지 확인하십시오.


3
나에게도 효과가 없었던이 정보를 설명하십시오.
Jorgesys 2007

2
나를 위해, 사용에 필요 https://registry.npmjs.org/합니다 (HTTPS 주)
Walty Yeung의

1
당신은 내 일 저장
Brilian Aringga

불행히도 이것은 내 문제를 해결하지 못했습니다. 나는 단순한 홈 네트워크에 있고 프록시가 없습니다.이 오류가 오랫동안 켜졌다 꺼졌습니다. 때로는 VS 코드를 사용할 때 cmd 프롬프트 (비 VS 코드)를 열 수 있지만 작동하지만 작동하지 않습니다. IDE. 방금 NodeJS를 제거하고 AppData의 모든 npm 폴더를 삭제하고 다시 설치했는데 여전히이 오류가 발생합니다.
Luke T O'Brien

56

이 시도

npm config rm proxy
npm config rm https-proxy

3
저도 저를 위해 일했지만이 명령이 무엇을했고 왜 효과가 있었는지 아십니까? 대신 뭔가를 설치해야하는지 궁금합니다. 감사!
aztec242

1
이것이 도움이되는 이유는 레지스트리 설정이 기본값이 아닌 다른 값으로 설정되었고 이러한 명령은 해당 구성 설정을 제거하여 기본값으로 되돌릴 수 있기 때문입니다. 제 경우에는 최근에 방화벽 뒤에 배치 된 사용자 지정 레지스트리를 사용합니다. 집에서 개인 프로젝트 작업을하므로이 디렉토리에서이 프로젝트의 npm 설정을 덮어 씁니다. 자세한 내용은 아래 @lambda의 답변을 참조하십시오.
Andy Groff

잘 했어요. rollBackFailed를 시도한 후 .. 다시 나타 났지만 몇 초 후에 사라졌습니다. 나는 그것으로 쉽게 nativescript를 설치했습니다. 감사합니다
Md Ashraful Islam

2
내가 또한 달릴 때까지 그것은 나를 위해 작동하지 않았다npm config set registry http://registry.npmjs.org/
davis

나를 위해 동일로 @davis
kayleeFrye_onDeck

20

제 경우에는 .npmrc직접 편집 하고 프록시 설정을 수동으로 추가해야했습니다.

proxy=http://yourorganizationproxy.com:8080
https-proxy=http://yourorganizationproxy.com:8080

이것이 누군가를 돕기를 바랍니다.


매우 감사합니다! 내 경우 (Kubuntu) 어떻게 든 사용자 .npmrc 파일에 추가 된 설정~/.npmrc
a1300

1
npm이 레지스트리에 도달 할 수 없을 때, 동작은 이상한 상태 메시지와 함께 거기에 매달리고 원격 호스트에 도달하려고한다는 신호가 없다는 것입니다. 그들은 인터넷 물건을 할 때 예의 바른 명령 줄 도구는 사용자를 말해야한다
마 몬태그

프록시 설정은 어디에서 찾을 수 있습니까? @miqrc
Akhila

npm v6.13.4
JamesP

18

그 원인은 현재 NPM 레지스트리 때문일 수 있습니다 . .npmrc파일 을 확인 하십시오 . 다양한 위치에있을 수 있습니다.

  • 프로젝트 별 구성 파일 (/path/to/my/project/.npmrc )
  • 사용자 별 구성 파일 (~/.npmrc )
  • 전역 구성 파일 ($PREFIX/etc/npmrc )
  • npm 내장 구성 파일 ( /path/to/npm/npmrc)

이 안에 다음과 같은 것이있을 수 있습니다.

registry=https://mycustomregistry.example.org

기본값 ( http://registry.npmjs.org/) 보다 우선합니다 . 파일에서이 줄을 삭제하거나 다음과 같은 기본 레지스트리를 사용할 수 있습니다.

npm <command> --registry http://registry.npmjs.org/

2
npm config set registry http://registry.npmjs.org/프록시 설정을 구성한 후 실행 이 나를 위해 일했습니다
rainversion_3

16

npm 일 가능성이 가장 높은 레지스트리는 npm이 도달 할 수 없습니다. npm 프록시 구성 확인

Windows Server 2008 R2에서 똑같은 문제가 발생했습니다. 처음에는 Internet Explorer의 보안 강화 구성을 의심했지만 성공하지 못한 상태에서 해제 한 후 npm이 인터넷에 대한 회사 프록시 연결을 사용하도록 구성되지 않은 것으로 나타났습니다.

npm은 서버가 '자동으로 설정 감지'로 설정된 인터넷 옵션> 연결 탭> LAN 설정을 통해 유효한 프록시 설정을 사용하지 않는 것으로 나타났습니다. 자동으로 설정을 감지하도록 설정되어 있다고해서 프록시가 실제로 사용되고 있음을 보장하지는 않습니다. 이는 Windows가 http : // wpad. [yourdomain. [yourdomain] 에서 특수한 'wpad.dat'파일을 찾으면 Internet Explorer에 대한 프록시 설정을 자동으로 구성한다는 것을 의미합니다 . .COM]는 /wpad.dat를 .

웹 브라우저에 다음을 입력하여 wpad.dat 파일이 조직에서 사용 중인지 여부를 테스트 할 수 있습니다.

http://wpad.[yourcompany.domain]/wpad.dat

사용할 수있는 파일이 없으면 조직 전체의 프록시를 사용하지 않는 것일 수 있습니다. 브라우저로 돌아 오면 ...

이 파일의 맨 아래에 다음과 같은 줄이 표시되어야합니다.

PROXY <host:port>;

사용 가능한 프록시가 여러 개인 경우 반복 될 수 있습니다. npm에 다음과 같은 프록시 설정을 사용하도록 알리려면 호스트와 포트가 필요합니다.

npm config set proxy http://[host]:[port]

npm config set https-proxy http://[host]:[port]

예를 들어 프록시가 포트 8080의 my.proxy.com에있는 경우 npm 명령은 다음과 같습니다.

npm config set proxy http://my.proxy.com:8080
npm config set https-proxy http://my.proxy.com:8080

어떤 프록시를 사용할지 npm에 모두 알려주고 나면 문제없이 설치 명령을 실행할 수있었습니다.

wpad 파일 검색에 대한 도움을 주신 다음 게시물 에 감사드립니다 .


6

이 문제를 해결하기 위해 다음 옵션을 시도했지만 작동했습니다.

  1. Node.js 버전 8을 제거합니다.
  2. Node.js 버전 6.11.4 설치
  3. 명령과 함께 레지스트리 옵션 을 사용하여 패키지를 설치하십시오.

예를 들어 Express를 설치하려면 다음 명령을 사용했습니다.

npm install express --registry http://registry.npmjs.org/

또는

npm install express -g --registry http://registry.npmjs.org/

특정 폴더에 로컬로 설치하려면 아래 명령을 사용하십시오. 아래 명령은 경로에 익스프레스를 설치합니다 C:\Sample\Example1.

C:\Sample1\Example1> npm install /Sample/Example1 express --registry http://registry.npmjs.org/

참고 : 특정 위치에 로컬로 설치하는 경우 먼저 명령을 사용하여 해당 디렉토리로 이동 한 다음 위의 명령을 실행하십시오. 해당 디렉토리에 있지 않고 작동하지 않는 명령에 경로 만 제공하는 경우.

package.json누락 된 오류가 발생 하면 패키지를 로컬로 설치하기 전에 아래 명령을 실행하십시오.

C:\Sample\Example1> npm init

위의 명령은 package.json 파일 합니다. 데이터를 제공 할 필요가 없습니다. 그냥 엔터를 누르세요.

참고 : 방화벽 뒤에있는 경우 프록시를 설정해야 할 수 있습니다.


3

안녕하세요 저는 또한 반응이 처음이며 해결책을 찾은 많은 문제가 발생한 후에도이 문제에 직면했습니다. 명령 프롬프트 또는 터미널에서 실행하십시오.

npm config set registry http://registry.npmjs.org/

그러면 문제가 해결됩니다. 참조 링크 : http://blog.csdn.net/zhalcie2011/article/details/78726679


2
솔루션에 대한 링크는 환영하지만 답변이없는 경우에도 유용한 지 확인하십시오 . 링크 주변에 컨텍스트를 추가 하여 동료 사용자가 그것이 무엇이고 왜 존재하는지 알 수 있도록 한 다음 페이지에서 가장 관련성이 높은 부분을 인용하십시오. 대상 페이지를 사용할 수없는 경우 다시 연결합니다. 링크에 불과한 답변은 삭제 될 수 있습니다.
GrumpyCrouton

3

npm에서 구성한 회사 저장소에 액세스 할 수 있는지 확인하십시오. VPN 연결을 확인하십시오.

그렇지 않으면 아래와 같이 기본 저장소로 다시 재설정하십시오.

npm config set registry http://registry.npmjs.org/

행운을 빕니다!!


3

다음 명령으로 문제가 해결되었습니다.

npm config set proxy http://yourproxyurl.com:8080  (you need to enter your or your company proxy URL and 8080 should be replaced by your proxy port)

npm config set https-proxy http://yourproxyurl.com:8080

1

레지스트리에 액세스 할 수 있지만 오류가 계속 발생하면 위에서 언급 한 사항이 작동하지 않습니다. 이 문제는 로컬 프로젝트의 설치에만 적용된다는 점을 언급했습니다 (즉, 전역 설치에 -g를 사용하면 모든 것이 잘 작동합니다).

나를 위해 문제를 해결 한 방법 : 프로젝트의 package.json 파일에서 설치할 패키지에 관한 항목을 제거하기 만하면됩니다. 그 다음 npm 호출이 작동하고 패키지를 성공적으로 설치합니다.


1

PhpStorm으로 반응 앱을 만드는 것과 동일한 효과가있었습니다. 그리고 마지막에는 done. 터미널에서 동일한 명령을 실행하면 자세한 오류가 발생했습니다. 내가 만든 프로젝트 폴더의 이름은react .

프로젝트 폴더의 이름이 react.


0

이 시도:

폴더의 모든 파일 삭제 : % APPDATA % \ npm-cache \ _locks


0

Windows의 경우 : 설치 프로그램을 다시 실행하고 설치를 '복구'하도록 선택하십시오.

나를 위해 일했다


0

이 버그는 아직 수정되지 않은 것 같습니다 [1]. 어떤 사람들은 일을하고 어떤 사람들은 일하지 않습니다. 나는 또한 일하지 않습니다.

명령으로 캐시 지우기를 시도한 npm cache verify다음 install 명령을 다시 실행하십시오. 나는 일했다.

[1]. https://github.com/npm/npm/issues/17246


0

나는 같은 문제가 있었다. 그러나 회사 내부 네트워크에서 방문자 네트워크로 전환하면 제대로 실행될 수 있습니다.


0

나는이 개 설정 시스템 환경 변수를 -

  1. HTTP_PROXY = <_proxy_url_>
  2. HTTPS_PROXY = <_proxy_url_>

이것은 실제로 나를 위해 일했습니다.


0

드문 경우지만 일반 npm명령을 사용하여 프로젝트를 빌드 할 수 있는지 확인하십시오 . 와 함께 작동하도록 구성된 하나를 만났 bower으므로 모든 플랫폼에서 유용하지 않은 비밀 오류 메시지를 표시하는 bower install <github_url>동안 작동 npm install <github_url>합니다 ...


0

Angular 명령 줄 도구 (CLI)를 설치하는 동안 롤백 오류가 발생하면 네트워크가 클라이언트 네트워크 또는 작업중인 회사 네트워크에 연결되어 있기 때문에 발생할 수 있습니다.

따라서 공용 네트워크 (또는 모바일의 핫스팟 네트워크)에 CLI를 설치해보십시오. 그러면 확실히 CLI가 설치됩니다.


0

해결책 : npm 구성의 'proxy'및 'https-proxy'키의 기본값은 NULL입니다. 더 많은 R & D를 수행 한 후 프록시 설정 값을 위의 키로 설정하려고했습니다 (이 솔루션은 내 시나리오에서 작동합니다).

또한 IE 브라우저 인터넷 설정 >> 설정 >> LAN 설정에서 동일한 프록시 설정을 적용해야합니다.

결론 : 회사 / 일부 환경에서 프록시는 다소 필수 설정입니다. 그렇지 않으면 npm 설치가 작동하지 않습니다.

GitHub의 문제 : https://github.com/SharePoint/sp-dev-docs/issues/3266

자세한 정보는 블로그를 참조하십시오 https://blogs2share.blogspot.com/2019/01/spfx-environment-setup-error.html


0

네트워크에 다운로드 프로세스를 금지하는 프록시가 있는지 확인하여 문제를 해결할 수 있습니다. 우리 회사 네트워크에 방화벽이 활성화되어있어 문제가 발생했습니다. 그래서 저는 안전하지 않은 네트워크 (아마도 모바일 네트워크의 핫스팟)로 전환해야했고 그것은 저에게 효과적이었습니다.


0

내 것은 McAfee 방화벽 때문이었습니다. 묻기 모드로 설정되어 있으므로 인터넷 연결을 요청하라는 메시지가 표시되어야했지만 그렇지 않았습니다! McAfee로 이동하여 (일시적으로!) 방화벽을 비활성화하면 설치할 수있었습니다.


0

나는 이미 위에서 설명한대로 프록시를 설정했으며 오늘까지 작동했습니다. 그런 다음 이제 내 프록시 주소 "http : // {proxyURL} : {proxyPort}"앞에 "http : //"가 필요하다는 것이 밝혀졌습니다. 그런 다음 마침내 작동했습니다.


0

이 문제를 파악하기 전에 얼마 동안 어려움을 겪었습니다.
High Sierra (10.13.6)를
사용하고 있습니다 installer.pkg. HomeBrew,를 사용한 다음 명령 줄을 사용하여 노드와 nvm을 여러 번 제거하고 다시 설치했습니다 . IMO, 명령 줄이 가장 잘 작동합니다.

: 나는 다음 단계에 따라
1. 란 npm config ls -l
검사 2. 그 값 globalconfig이었다 $<installpath>/.nvm/versions/node/v12.16.3/etc/npmrc하지만 터미널에서이 경로에 도착하려고 할 때, 그것은 내게 준 No such file or directory
나는 그래서
3 폴더 생성 etc생성, npmrc파일을 그 안에 줄을 추가합니다.

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


~/.npmrc$HOME

Then
4에 파일 이 없습니다npm install . 명령을 다시 실행했습니다 .


여전히 rollbackFailedOptional: verb npm-session오류가 발생했지만 이번에는 완료 되었지만 다른 오류가 발생했습니다. 이 단계를 시도하고 작동하는지 확인할 수 있습니다.

호기심이 사람들을 위해, 그것은 던졌다 Response timeout while trying to fetch https://registry.npmjs.org/<package> (over 30000ms)나는 추가, 그래서 오류를 timeout = "60000"받는 사람 /etc/npmrc(다른 유래 스레드에서 발견) 파일을 다시 시도했다. 이것은 나를 위해 일했습니다.

도움이 되었기를 바랍니다!


0

문제를 해결하려면 여기에 답변 된이 모든 명령을 시도하십시오. https://stackoverflow.com/a/54173142/12142401 문제가 지속되면 다음 단계를 수행하십시오.

nodejs를 완전히 제거하십시오.이 답변을 확인하여 nodejs https://stackoverflow.com/a/20711410/12142401 을 완전히 제거 하십시오.

웹 사이트에서 업데이트 된 nodejs 설정을 다운로드합니다. C 드라이브에 설치 한 다음 D, S, G 드라이브에 설치하는 것처럼 이전에 설치된 드라이브가 아닌 모든 드라이브에 설치합니다. npm 명령을 실행하면 완전히 작동합니다.


-2

이 시도. 그것은 나를 위해 잘 작동했습니다.

npm install / your_floder_location package_name --registry http://registry.npmjs.org/

아래는 내 laravel 프로젝트 (내 프로젝트 이름 vue_laravel)에 vue-router 패키지를 설치하는 정확한 명령입니다.

aslam004 : vue_laravel $ npm install / var / www / html / projects / vue_laravel vue-router --registry http://registry.npmjs.org/

행운을 빕니다


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