npm
사용하여 설치한 Node.js 모듈을 어디에서 찾을 수 있는지 말해 줄 수 있습니까?
질문자 :trnc
글로벌 라이브러리
npm list -g
를 실행하여 설치된 전역 라이브러리와 위치를 확인할 수 있습니다. npm list -g | head -1
경로만 표시하는 잘린 출력의 경우 npm list -g | head -1
함께 설치되는 하위 패키지가 아닌 기본 패키지만 표시하려면 - npm list --depth=0
을 사용하여 모든 패키지를 표시하고 전역적으로 설치된 패키지만 가져 npm list -g --depth=0
.
Unix 시스템에서는 일반적으로 전역으로 설치될 때 /usr/local/lib/node
또는 /usr/local/lib/node_modules
NODE_PATH
환경 변수를 이 경로로 설정하면 노드별로 모듈을 찾을 수 있습니다.
Windows XP - %USERPROFILE%\AppData\npm\node_modules
Windows 7, 8 및 10 - %USERPROFILE%\AppData\Roaming\npm\node_modules
비전역 라이브러리
비전역 라이브러리는 현재 있는 폴더 node_modules
npm list
를 실행하여 현재 위치에 설치된 비전역 라이브러리를 볼 수 있습니다.
설치할 때 -g 옵션을 사용하여 전역적으로 설치
npm install -g pm2
- pm2는 전역적으로 설치됩니다. 그런 다음 일반적으로 /usr/local/lib/node_modules
에서 찾을 수 있습니다( npm root -g
를 사용하여 위치를 확인하십시오.)
npm install pm2
- pm2는 로컬에 설치됩니다. /node_modules
의 로컬 디렉토리에서 찾을 수 있습니다.
Decko
npm root
명령은 npm 패키지의 효과적인 설치 디렉토리를 알려줍니다.
현재 작업 디렉토리가 노드 패키지 또는 노드 패키지의 하위 디렉토리인 경우 npm root
는 로컬 설치 디렉토리를 알려줍니다. npm root -g
는 현재 작업 디렉토리에 관계없이 전역 설치 루트를 표시합니다.
예시:
$ npm root -g /usr/local/lib/node_modules
Joe Hawkins
전역적으로 설치된 모듈의 경우:
다른 답변은 플랫폼별 응답을 제공하지만 일반적인 답변은 다음과 같습니다.
npm install -g something
전역 모듈을 설치할 때 npm은 모듈을 설치할 위치를 알기 위해 구성 변수 prefix
npm config get prefix
실행하여 해당 값을 얻을 수 있습니다.
해당 폴더에서 사용 가능한 모든 전역 모듈을 표시하려면 npm ls -g --depth 0
(종속성을 표시하지 않으려면 depth 0
전역 모듈 경로를 변경하려면 npm config edit
하고 파일에 prefix = /my/npm/global/modules/prefix
를 넣거나 npm config set prefix /my/npm/global/modules/prefix
.
nodist 와 같은 일부 도구를 사용하면 전역 npm 모듈의 플랫폼 기본 설치 경로가 변경됩니다.
jakub.g
Windows에서 npm list -g
를 사용하여 찾았습니다. 기본적으로 내 (전역) 패키지는 C:\Users\[Username]\AppData\Roaming\npm
.
9swampy
npm이 설치한 실행 파일을 찾고 있다면 PATH에 넣고 싶기 때문에 간단히 할 수 있습니다.
npm bin
또는
npm bin -g
Ken Goodridge
이전 버전의 NPM에서 모듈은 항상 /usr/local/lib/node 또는 .npmrc 파일 내에서 npm 루트를 지정한 모든 위치에 배치되었습니다. 그러나 NPM 1.0+에서는 모듈이 두 곳에 설치됩니다. /.node_modules에서 애플리케이션에 로컬로 모듈을 설치하거나 위의 내용을 사용할 전역적으로 설치할 수 있습니다.
자세한 내용은 https://github.com/isaacs/npm/blob/master/doc/install.md에서 확인할 수 있습니다.
Nick Campbell
직접적인 답변은 아니지만 도움이 될 수 있습니다 ....
npm config get cache
(Windows의 경우 %AppData%/npm-cache
를 실행하여 찾을 수 있는 캐시 폴더도 있습니다.
npm 모듈은 먼저 여기에서 다운로드한 다음 npm 전역 폴더( %AppData%/Roaming/npm
) 또는 프로젝트별 폴더( your-project/node_modules
)에 복사합니다.
따라서 npm 패키지 및 일부 방법을 추적하려면 다운로드한 모든 npm 패키지 목록(npm 캐시가 정리되지 않은 경우)에서 이 폴더를 확인하십시오. 폴더 구조는 {cache}/{name}/{version}
이것은 https://docs.npmjs.com/cli/cache 에도 도움이 될 수 있습니다.
Alireza Fattahi
종속성이 없는 간결한 목록을 얻으려면 간단히 다음을 사용하십시오.
npm list -g --depth 0
Adam Bubela
-g
) 플래그와 함께 설치된 경우 다음을 실행하여 상위 위치를 가져올 수 있습니다.
npm get prefix
또는
npm ls -g --depth=0
설치된 모듈 목록과 함께 위치를 인쇄합니다.
Mohanraj
가장 쉬운 방법은
npm 목록 -g
패키지를 나열하고 설치된 위치를 봅니다.
나는 chololatey를 통해 npm을 설치 했으므로 위치는
C:\MyProgramData\chocolatey\lib\nodejs.commandline.0.10.31\tools\node_modules
C:\MyProgramData\는 초콜릿 저장소 위치입니다.
Tharaka
전 세계적으로 설치된 모듈을 찾을 수 있습니다.
Community Wiki
실제 구성을 검색하는 동안 화가 나기 시작했습니다. 그래서 다음은 Linux의 모든 구성 파일 목록입니다.
- /etc/npmrc
- /home/youruser/.npmrc
- /루트/.npmrc
- package.json 파일 옆의 현재 디렉토리에 있는 ./.npmrc (@CyrillePontvieux 덕분에)
윈도우에서:
- c/Program\ Files/nodejs/node_modules/npm/npmrc
그런 다음 이 파일에서 접두사가 구성됩니다.
prefix=/usr
접두사는 기본적으로 Linux의 경우 /usr이고 Windows의 경우 ${APPDATA}\npm입니다.
노드 모듈은 $prefix 트리 아래에 있으며 경로에는 $prefix/bin이 포함되어야 합니다.
문제가 있을 수 있습니다.
- 전역으로 설치할 때 "sudo su"를 사용하고
/root/.npmrc
사용할 수 있습니다! - sudo 없이 로컬로 사용하는 경우: 사용자의 경우
/home/youruser/.npmrc
입니다. - 경로가 접두사를 나타내지 않는 경우
-
npm set -g prefix /usr
을 사용하면 /etc/npmrc 전역을 설정하지만 로컬을 재정의하지 않습니다.
다음은 어디에 구성되어 있는지 찾기 위해 누락된 모든 정보입니다. 내가 철저했기를 바랍니다.
pdem
문서에서 :
npm 1.0에는 두 가지 설치 방법이 있습니다.
전역적으로 — 이것은
{prefix}/lib/node_modules
{prefix}/bin
에 실행 파일을 넣습니다. 여기서{prefix}
는 일반적으로/usr/local
과 같습니다. 또한 매뉴얼 페이지가 제공되면{prefix}/share/man
로컬로 — 현재 작업 디렉토리에 패키지를 설치합니다. 노드 모듈은
./node_modules
, 실행 파일은./node_modules/.bin/
, 매뉴얼 페이지는 전혀 설치되지 않습니다.
npm config get prefix
사용 {prefix}
를 얻을 수 있습니다. (nvm으로 노드를 설치할 때 유용합니다).
edelans
Windows 10 npm prefix -g
실행했을 때 설치 위치가 내가 설치하는 데 사용한 git 셸 경로 안에 있음을 확인했습니다. 해당 위치를 경로에 추가해도 전역적으로 설치된 패키지의 명령이 인식되지 않습니다. 수정자:
-
npm config edit
실행 - 접두사를 'C:\Users\username\AppData\Roaming\npm'으로 변경
- 해당 경로를 시스템 경로 변수에 추가
- -g를 사용하여 패키지를 다시 설치합니다.
Marc Sloth Eastman
다른 답변에서 알 수 있듯이 가장 좋은 방법은
npm list -g
그러나 많은 수의 npm
패키지가 설치되어 있는 경우 이 명령의 출력이 매우 길고 스크롤하기가 어려울 수 있습니다(때로는 멀리 뒤로 스크롤하는 것이 불가능할 수도 있음).
이 경우 출력을 다음과 같이 more
npm list -g | more
Raphi
구성 에코:
npm config ls
또는npm config list
모든 구성 설정 표시:
npm config ls -l
또는npm config ls --json
유효한 node_modules 폴더
npm root
또는npm root -g
로컬 접두사 인쇄:
npm prefix
또는npm prefix -g
(package.json 파일 또는 node_modules 디렉토리를 포함하는 가장 가까운 상위 디렉토리입니다.)
山茶树和葡萄树
문서에서 :
패키지는 접두사 아래의 node_modules 폴더에 삭제됩니다. 로컬로 설치할 때 이는 기본 모듈을 로드하기 위해 require("packagename") 또는 다른 모듈을 로드하기 위해 require("packagename/lib/path/to/sub/module")할 수 있음을 의미합니다.
Unix 시스템의 전역 설치는 {prefix}/lib/node_modules로 이동합니다. Windows의 전역 설치는 {prefix}/node_modules(즉, lib 폴더 없음)로 이동합니다.
범위가 지정된 패키지는 @ 기호로 해당 범위 접두사의 이름을 사용하여 관련 node_modules 폴더의 하위 폴더에 함께 그룹화된다는 점을 제외하고는 동일한 방식으로 설치됩니다. 예를 들어 npm install @myorg/package는 패키지를 {prefix}에 배치합니다. /node_modules/@myorg/package. 자세한 내용은 범위를 참조하십시오.
패키지를 require()하려면 로컬에 설치하십시오.
npm config get prefix
사용 {prefix}
를 얻을 수 있습니다. (nvm으로 노드를 설치할 때 유용합니다).
Randall Flagg
Ubuntu 14.04에서는 다음 위치에 설치됩니다.
/usr/lib/node_modules
Ashutosh Singh
다른 답변을 확장합니다.
npm list -g
전역적으로 설치된 패키지의 위치를 보여줍니다.
해당 목록을 텍스트 편집기에서 쉽게 검색할 수 있는 파일로 출력하려는 경우:
npm list -g > ~/Desktop/npmfiles.txt
TWLATL
Btw, npm은 로컬에서 찾을 수 없는 경우 상위 폴더(최상위 루트까지)에서 node_modules를 찾습니다.
Vitaliy Markitanov
Windows 7, 8 및 10 - %USERPROFILE%\AppData\Roaming\npm\node_modules.
참고: 폴더의 어딘가에 있는 경우 C:
디렉터리에 있을 때까지 cd ..
입력합니다. 그런 다음 cd %USERPROFILE%\AppData\Roaming\npm\node_modules
합니다. 그리고 마술처럼 %USERPROFILE%
Users\YourUserProfile\
로 변경됩니다. 나는 단지 첫 번째 응답에서 Decko
가 언급한 아이디어를 명확히 하고 싶었습니다. npm list -g
는 전역적으로 설치된 모든 비트를 나열합니다. npm package
를 찾아야 하는 경우 cd 'your angular project xyz'
를 찾은 다음 npm list
를 실행하십시오. npm package
의 모듈 목록을 표시합니다. dependencies
목록을 제공하며 해당 프로젝트를 효과적으로 실행해야 할 수도 있습니다.
surendrapanday
코드에서 전역 디렉토리에 액세스하려는 경우 process.execPath
에서 역추적할 수 있습니다. 예를 들어, {NODE_GLOBAL_DIR}/bin/wsproxy
wsproxy
를 찾으려면 다음을 수행하면 됩니다.
path.join(path.dirname(process.execPath), 'wsproxy')
npm
cli가 @ ec9fcc1
/lib/npm.js#L254 에서 다음과 함께 작동하는 방식도 있습니다.
path.resolve(process.execPath, '..', '..')
ec9fcc1
/lib/install.js#L521 도 참조하십시오.
var globalPackage = path.resolve(npm.globalPrefix, 'lib', 'node_modules', moduleName(pkg))
여기서 globalPrefix
ec9fcc1
/lib/config/defaults.js#L92-L105 에 다음과 같은 기본 설정이 있습니다.
if (process.env.PREFIX) { globalPrefix = process.env.PREFIX } else if (process.platform === 'win32') { // c:\node\node.exe --> prefix=c:\node\ globalPrefix = path.dirname(process.execPath) } else { // /usr/local/bin/node --> prefix=/usr/local globalPrefix = path.dirname(path.dirname(process.execPath)) // destdir only is respected on Unix if (process.env.DESTDIR) { globalPrefix = path.join(process.env.DESTDIR, globalPrefix) } }
A T
Visual Studio가 설치되어 있는 경우 노드를 직접 설치할 때 경로에 있던 것과 별도의 자체 노드 복사본이 함께 제공됩니다. 광산은 C:\Program Files (x86)\Microsoft Visual Studio\2019에 있습니다. \커뮤니티\MSBuild\Microsoft\VisualStudio\NodeJs.
이 디렉토리 내부에서 npm 명령을 실행하면 Visual Studio 내부에 설치된 노드 모듈을 찾을 수 있습니다.
Andy
출처 : http:www.stackoverflow.com/questions/5926672/where-does-npm-install-packages
'etc. > StackOverFlow' 카테고리의 다른 글
쉘 스크립트에서 부울 변수를 어떻게 선언하고 사용할 수 있습니까? (0) | 2023.05.04 |
---|---|
스크립트를 종료하는 방법? (0) | 2023.05.04 |
Visual Studio에서 솔루션 빌드, 솔루션 다시 빌드 및 솔루션 정리의 차이점은 무엇입니까? (0) | 2023.05.04 |
클래스를 조건부로 적용하는 가장 좋은 방법은 무엇입니까? (0) | 2023.05.04 |
Visual Studio 프로젝트 및 솔루션용 .gitignore (0) | 2023.05.04 |