2017-10-02 4 views
9

npm 설치에 문제가 있습니다. @types가 설치되지 않습니다.NPM 설치 유형이 잘못되었습니다.

npm install --save lodash 

그러나 유형을 묻는 잘 작동하는 것은이 내 머리를 긁적있어 않았습니다

npm install --save @types/lodash 

PS C:\Development\Temp> npm install --save @types/lodash 
npm WARN `git config --get remote.origin.url` returned wrong result (git://github.com/types/lodash) 
npm WARN `git config --get remote.origin.url` returned wrong result ([email protected]:types/lodash) 
npm ERR! git clone [email protected]:types/lodash Cloning into bare repository 'C:\Users\myuser\AppData\Roaming\npm-cache\_git-remotes\git-github-com-types-lodash-9eb5372a'... 
npm ERR! git clone [email protected]:types/lodash Host key verification failed. 
npm ERR! git clone [email protected]:types/lodash fatal: Could not read from remote repository. 
npm ERR! git clone [email protected]:types/lodash 
npm ERR! git clone [email protected]:types/lodash Please make sure you have the correct access rights 
npm ERR! git clone [email protected]:types/lodash and the repository exists. 
npm ERR! addLocal Could not install types/lodash 
npm ERR! Error: ENOENT: no such file or directory, stat 'C:\Development\Temp\types\lodash' 
npm ERR! If you need help, you may report this *entire* log, 
npm ERR! including the npm and node versions, at: 
npm ERR!  <http://github.com/npm/npm/issues> 

npm ERR! System Windows_NT 10.0.15063 
npm ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\ProgramData\\chocolatey\\lib\\npm\\tools\\node_modules\\npm\\bin\\npm-cli.js" "install" "--save" "@types/lodash" 
npm ERR! cwd C:\Development\Temp 
npm ERR! node -v v8.6.0 
npm ERR! npm -v 1.4.9 
npm ERR! path C:\Development\Temp\types\lodash 
npm ERR! syscall stat 
npm ERR! code ENOENT 
npm ERR! errno -4058 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  C:\Development\Temp\npm-debug.log 
npm ERR! not ok code 0 
PS C:\Development\Temp> 

않습니다. Chocolatey, NodeJS, NPM을 업데이트하여 최신 버전을 확인했습니다. 빈 폴더 나 기존 TypeScript 프로젝트에서 명령을 시도했습니다. Git 저장소 (error : remote.origin.url)에서 혼동을 일으킬 수 있다고 생각했습니다. 그것은 아무 의미의 자식을 만드는없는 GitHub의 URL을 보면 : 나는 MSDN Blog - The Future of Declaration Files에서이 예제를했다

업데이트

//github.com/types/lodash : 나는 v6.11.3 LTS를 다시 설치 Node.js를을 제거하고 시도했습니다 또는 v8.6.0. 그러나 @types 명령은 여전히 ​​실패합니다.

업데이트 2 : Chocolately 님이 npm 버전을 마스킹하고 있음을 깨달았습니다. Chocolately 폴더를 제거하고 @Louis 응답에 따라 npm을 업그레이드했습니다.

+0

개인 키가 작동하도록 github 계정을 구성해야합니다. – lilezek

+1

예, URL 자체가 잘못되었습니다. github.com/types/lodash ??? – wonea

+1

잘 작동합니다. npm을 업데이트하려고 시도 했습니까? –

답변

4

npm 버전을 버전 4 또는 5로 업그레이드하십시오. 5에서 문제가 발생하여 4를 언급했기 때문에 4를 사용할 수 있습니다. 이전 버전을 실행할만한 이유가 있는지 모르겠습니다.

로그의이 행에 표시된대로, npm 버전 1.4.9을 사용하고 있습니다 :

npm ERR! npm -v 1.4.9 

문제는 이전 버전 2 npm 버전 범위의 패키지을 지원하지 않는다는 것입니다. @으로 시작하는 패키지는 범위가 지정된 패키지이므로 @types/lodash은 범위가 지정된 패키지입니다. 설치하려면 npm 버전 2 이상이 필요합니다. 1.4.9도 범위 패키지 일이었다 몰랐

npm ERR! Error: This version of npm doesn't support scoped packages (caused by reference to @types/lodash). Update to [email protected]+. 

버전 : 당신이 1.x에서 시리즈 (1.4.29)의 최신 npm를 사용한다면, 당신은 더 나은 오류 메시지를 얻을 것 , 그래서 그것은 좋은 오류 메시지를 줄 수 없습니다. @ 심볼이 패키지 이름이 주소이고 누락 된 정보를 기본 호스트로 Github로 채운 것으로 보입니다.

나는 일반적으로 npm를 업그레이드하는 데 사용하는 업그레이드 명령은 다음과 같습니다

npm install -g npm 

당신은 특정 버전 번호를 제공 하나와 npm 인수를 대체하여 특정 버전을 지정할 수 있습니다. 예를 들어 [email protected]은 4.x 시리즈에 최신 npm을 설치합니다. 버전 번호를 지정하지 않으면 최신 릴리스 버전을 얻게됩니다.

+0

'devDependencies'에 타이핑을 설치하는 것에주의하십시오 –