2014-07-07 1 views
5

Windows에서 NPM은 종속성의 심층적 인 중첩으로 인해 문제가 있습니다. 해결하기 위해이 친구가 다음 명령이 npm 스위치는 Windows 경로 길이 문제를 어떻게 수정합니까?

npm install <dep> -g --no-bin-link을 제안

문서가이 명령에 대해 말하는 사람

The --no-bin-links argument will prevent npm from creating symlinks for any binaries the package might contain."

이 플래그가 무슨 영향

사람이 일반 언어로 설명 할 수 , 종속 경로를 설치하면 보통 경로 문제가 깊어집니다.

+1

https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows가 풀 reqeust입니다 : https://github.com/npm/npm/pull/3090/files. 그것은 전혀 연결을 신경 쓰지 않는 것처럼 보입니다. –

+0

@DavinTryon이 링크에 감사 드리며, 그 의미가 아직도 확실하지 않습니다. 이게 내 첫 번째 점프가 아닌 .net. 그래서 나를 위해 실제로이 명령의 최종 결과가 변경된 방법 또는 Windows 제한을 초과하는 경로를 중지 한 볼 수 없습니다 : ( – McDonnellDean

답변

2

평범한 언어로,이 플래그가 영향을 미치며 종속 경로를 설치하면 보통 깊은 경로 문제가 발생합니다.

확실히. npm에 게시 된 많은 패키지는 명령 줄 도구와 프로그래밍 방식으로 모두 사용할 수 있습니다. 예를 들어, jslint 패키지 파일을 linting위한 명령 줄 도구 및 require 라 할 수있는 API 모두를 게시, 그래서 당신은에 가서 파일을 만들 때 일반적으로 가시가 jslint

깊은 경로 문제를 사용하는 코드를 작성할 수 있습니다 명령 줄 사용을위한 bin 디렉터리 깊은 경로는 보통 require과 함께 프로그래밍 방식으로 사용되는 패키지에는 영향을주지 않습니다.

패키지의 "정규"종속성의 경우, 종속 링크가 require과 함께 소비되기 때문에 일반적으로 bin 링크를 생략해도 무방합니다.

"dev"종속성 또는 전역 적으로 설치된 패키지의 경우 일반적으로 명령 줄 도구로 사용되기 때문에 bin 링크를 유지해야합니다. 당신이 아직있는 경우

덧붙여 최신 npm으로 업데이트해야합니다 - 최신이 쓰기에 2.1.16, 그리고 창에 npm을 업데이트하기위한 가이드가 여기에 있습니다 : 여기

+0

npm 업데이트가 질문에 대한 관련성이 있습니까 ? 언급에 혼란 스럽네요. – Wortex17

+0

예. 역사적으로'노드 '분포는'npm'보다 느리게 나옵니다. 그리고'npm'과 현재 npm을 포함하는'node' 사이에는 상당한 지연이 종종 있습니다. 아무도 사용하지 않습니다. node 0.10.x의'npm'을 업그레이드해야합니다. –

관련 문제