[node.js] 지정된 디렉토리에 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 설명서를 참조하십시오 .)


답변

에서 문서 가 언급 한 것 : 접두사 옵션을 사용하여 글로벌 옵션과 함께 :

접두사 노드가 설치된 위치에 기본값을 config (설정). 대부분의 시스템에서 이것은 / usr / local 입니다. Windows에서 이것은 node.exe 바이너리의 정확한 위치입니다. Unix 시스템에서는 노드가 일반적으로 {prefix} /node.exe가 아닌
{prefix} / bin / node에 설치되므로 레벨이 한 단계 높아집니다 .

글로벌 플래그가 설정되어, NPM이 접두사로 물건을 설치합니다. 설정되지 않은 경우 현재 패키지의 루트 또는 패키지에없는 경우 현재 작업 디렉토리를 사용합니다.

(그들에 의한 헛소리)

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

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

node_modules폴더에 폴더를 설치 합니다

<path/to/prefix_folder>/lib/node_modules


답변

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

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

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

npm install --prefix ./install/here

npm 6.0.0부터 사용할 수 있습니다

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

현재 디렉토리의 package.json을 “./install/here”디렉토리에 설치하십시오. Mac에서 node_modules 디렉토리 내에 상위 폴더에 대한 심볼릭 링크를 생성한다는 것을 알았습니다. 그러나 여전히 작동합니다.

참고 : NPM은 --prefix옵션을 통해 지정한 경로를 따릅니다 . 옵션 없이 사용하는 경우에만 폴더의 npm 설명서에 따라 해결됩니다 .npm install--prefix


답변

powershell 빌드를 사용하고 있으며 현재 디렉토리를 변경하지 않고 npm을 실행할 수 없습니다.

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

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


답변