[node.js] Windows에서 npm의 캐시 경로를 변경하거나 캐시를 완전히 비활성화하려면 어떻게해야합니까?

Windows 7 x64 개발 컴퓨터에 수동으로 Node.js를 설치했습니다.

mkdir C:\Devel\nodejs
cd C:\Devel\nodejs
set NODE_PATH=%CD%
setx /M PATH "%PATH%;%NODE_PATH%"
setx /M NODE_PATH "%NODE_PATH%\node_modules"

npm 패키지 관리자 와 함께 기본 노드 x64 바이너리 를 . 매력처럼 작동하며 설치 프로그램을 처리하지 않고도 메인 바이너리를 업데이트 할 수 있습니다.C:\Devel\nodejs

내가 해결할 수없는 유일한 문제는 캐시 폴더를 이동하는 것입니다. 로컬 패키지를 설치할 때 :

npm install express

… 캐시는 %APP_DATA%\npm-cache폴더 아래에 있습니다. 다음과 같이 변경하고 싶습니다.

C:\Devel\nodejs\npm-cache

npm 캐시 폴더를 변경하거나 완전히 비활성화하려면 어떻게해야합니까?



답변

npm명령 줄을 사용하여 npm 캐시 폴더를 변경할 수 있습니다 . (참조 : https://docs.npmjs.com/misc/config 및 더 구체적으로 https://docs.npmjs.com/misc/config#cache )

따라서 다음 명령을 시도해 볼 수 있습니다.

> npm config set cache C:\Devel\nodejs\npm-cache --global 


답변

export npm_config_cache=/path/to/cache(Unix) 또는 set npm_config_cache=C:\path\to\cache(Win)을 대신 하여 환경 변수를 설정할 수도 npm config set있습니다 (npm의 모든 구성 옵션에 해당됨).


docker를 사용하는 모든 사람을 위해 런타임에 다음을 사용하여 env var를 추가 할 수 있습니다.

docker run -e npm_config_cache=/path/to/cache mydockerimage:tag


답변

다음을 수행 할 수도 있습니다.

원하는대로 캐시 경로를 사용하려면 설치하는 동안 단일 패키지에 대해 :

npm install packageName --cache path/to/some/folder

원하는대로 캐시 경로를 사용하려면 package.json의 모든 패키지에 대해 다음을 수행하십시오.

package.json이 평소와 같이있는 디렉토리에 있고

npm install --cache path/to/some/folder

npm 문서에서 이것을 찾을 수 없지만 npm 6에서 시도했으며 작동합니다. npm 5부터 작동 하는 것 같습니다. [참조 : 설치 명령에서 npm5에 캐시 폴더를 지정하는 방법?


답변

Windows에서는 원하는 캐시 폴더로 간단히 cd하고 npm set cache --global


답변

또한 업데이트 명령을 실행하는 것도 작동하는 것으로 나타났습니다. 예를 들면 다음과 같습니다.

npm update npm

마지막으로 npm-cache 디렉토리가 채워져 있는지 확인할 수 있습니다.


답변