etc./StackOverFlow

npm은 패키지를 어디에 설치합니까?

청렴결백한 만능 재주꾼 2023. 5. 4. 22:14
반응형

질문자 :trnc


npm 사용하여 설치한 Node.js 모듈을 어디에서 찾을 수 있는지 말해 줄 수 있습니까?



글로벌 라이브러리

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 셸 경로 안에 있음을 확인했습니다. 해당 위치를 경로에 추가해도 전역적으로 설치된 패키지의 명령이 인식되지 않습니다. 수정자:

  1. npm config edit 실행
  2. 접두사를 'C:\Users\username\AppData\Roaming\npm'으로 변경
  3. 해당 경로를 시스템 경로 변수에 추가
  4. -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

반응형