source

지정된 디렉토리에 npm을 설치하는 방법은 무엇입니까?

ittop 2023. 5. 27. 11:57
반응형

지정된 디렉토리에 npm을 설치하는 방법은 무엇입니까?

실행할 때 대상 디렉터리를 지정할 수 있습니까?npm install <package>?

사용할 수 있습니다.--prefix옵션:

mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>

그러면 패키지가 설치됩니다../install/here/node_modules.그mkdirnpm이 그렇지 않으면 이미 존재하는 것을 선택할 수 있기 때문에 필요합니다.node_modules상위 계층의 디렉터리입니다. (폴더에 대한 npm 설명서 참조).

npm 버전 3.8.6부터 다음을 사용할 수 있습니다.

npm install --prefix ./install/here <package>

지정된 디렉토리에 설치합니다. NPM은 자동으로 를 만듭니다.node_modules폴더의 경우에도node_modules디렉터리가 이미 상위 계층에 있습니다.당신은 또한 가질 수 있습니다.package.json현재 디렉토리에 설치한 후 다음을 사용하여 지정된 디렉토리에 설치합니다.--prefix옵션:

npm install --prefix ./install/here

npm 6.0.0 기준으로 다음을 사용할 수 있습니다.

npm install --prefix ./install/here ./

패키지를 설치할 수 있습니다.json을 현재 디렉토리에서 "/install/here" 디렉토리로 이동합니다.Mac에서 node_modules 디렉토리 내에 부모 폴더에 대한 심볼릭 링크를 생성한다는 것을 알게 된 것이 있습니다.하지만 여전히 작동합니다.

참고: NPM은 사용자가 지정한 경로를 따릅니다.--prefix선택.폴더의 npm 설명서에 따라 해결됩니다.npm install를 제외하고 사용됩니다.--prefix선택.

문서에는 다음과 같이 명시되어 있습니다.접두사 옵션을 글로벌 옵션과 함께 사용합니다.

접두사 구성은 기본적으로 노드가 설치된 위치로 설정됩니다.대부분의 시스템에서 이 은 /usr/local입니다.창에서 이 위치는 노드의 정확한 위치입니다.exe 이진법유닉스 시스템에서는 노드가 일반적으로 {prefix}/node.exe가 아닌 {prefix}/bin/node에 설치되므로 한 단계 업그레이드된 것입니다.

글로벌 플래그가 설정되면 npm은 이 접두사에 항목을 설치합니다.설정되지 않은 경우 현재 패키지의 루트 또는 패키지에 없는 경우 현재 작업 디렉터리를 사용합니다.

(그들이 강조)

따라서 루트 디렉터리에 설치할 수 있습니다.

npm install --prefix <path/to/prefix_folder> -g

그리고 그것은 그것을 설치할 것입니다.node_modules폴더를 폴더에 추가합니다.

<path/to/prefix_folder>/lib/node_modules

현재 임의 디렉터리에 패키지를 설치하는 문서화된 방법은 없습니다.대상 디렉토리로 변경해야 합니다. 대상 디렉토리에package.json그런 다음 일반 명령을 사용합니다.

현재 다음과 같은 문서화되지 않은 옵션이 있습니다.--prefix이 기능은 향후 릴리스에서 제거될 수 있습니다.적어도, 이것을 공식적인 특징으로 기록할 계획은 없습니다.

파워셸 빌드를 사용하고 있어서 현재 디렉터리를 변경하지 않고는 npm을 실행할 수 없습니다.

start 명령을 사용하고 작업 디렉토리만 지정했습니다.

start "npm" -ArgumentList "install --warn" -wo $buildFolder

언급URL : https://stackoverflow.com/questions/14469515/how-to-npm-install-to-a-specified-directory

반응형