답변:
--prefix
옵션을 사용할 수 있습니다 :
mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>
그러면 패키지가에 설치됩니다 ./install/here/node_modules
. 는 mkdir
NPM 달리 이미 존재하는 선택할 수 있기 때문에 필요한 node_modules
계층 구조의 최대 디렉토리 높은. ( 폴더에 대한 npm 설명서를 참조하십시오 .)
npm install
패키지 이름없이 경로를 지정하는 방법이 있습니까? 나는 이것을 직접 시도했지만 npm은 package.json
에서 찾습니다 {prefix}
. 내가 목표로하는 것은 packages.json
프로젝트 루트에 in을 넣고 동시에 모든 패키지를 설치할 수 있도록하는 것 입니다 {project root}/{project webroot}
.
npm install
했지만 --prefix
재귀를 일으키지 않으면 더 좋은 솔루션처럼 보입니다.
에서 문서 가 언급 한 것 : 접두사 옵션을 사용하여 글로벌 옵션과 함께 :
접두사 노드가 설치된 위치에 기본값을 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
require
할 수 있습니다, 전 세계적으로 설치된 패키지?
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
Can't install <current directory>: Missing package name
package.json
파일을 예상 한대로 작동하지 않습니다 ../install/here