npm과 링크한 모든 Node.js 모듈을 나열하는 방법
내가 가지고 있는 글로벌 모듈의 이름을 나열할 명령을 찾고 있습니다.npm link
로컬 경로도 나열하고 로컬 복사본으로 이동합니다.
사실, 전 세계적으로 설치된 모든 모듈의 목록은 다음과 같이 훨씬 더 좋을 것입니다.npm link
어떻게든 깃발이 달린 거지
글로벌하게 연결된 모든 모듈을 나열하면 다음과 같습니다(https://docs.npmjs.com/cli/ls) 참조).
npm ls -g --depth=0 --link=true
하지만 먼저 컴퓨터에서 npm 버전을 업데이트해야 했습니다.
npm install npm@latest -g
당신은 방금 목록을 작성하려고 했습니까?node_modules
디렉터리 내용(예:ls -l node_modules | grep ^l
)? 정상적인 상징 링크입니다.
만약 당신이 정말로 모든 상징적인 링크를 찾아야 한다면, 당신은 다음과 같은 것을 시도할 수 있습니다.find / -type d -name "node_modules" 2>/dev/null | xargs -I{} find {} -type l -maxdepth 1 | xargs ls -l
.
다음 명령은 npm 7 이후로 더 간단합니다.
- 글로벌 모듈:
npm ls --link --global
- 로컬 모듈:
npm ls --link
앤드류가 발견한 것에 대한 공로입니다.--link
깃발
구문 분석에 대한 더 나은 대안ls
사용하는 것입니다.find
다음과 같이:
find . -type l
사용할 수 있습니다.-maxdepth 1
첫 번째 디렉토리 수준만 처리합니다.
find . -maxdepth 1 -type l
사용할 수 있습니다.-ls
추가 정보를 위해
예를 들어, npm이 연결된 Node.js 모듈을 찾는 경우:
find node_modules -maxdepth 1 -type l -ls
여기 구문 분석이 최선의 생각이 아닌 이유가 있는 기사가 있습니다.
만약 당신이 멋진 색상의 출력을 원한다면.npm list
다음과 같이 하십시오.
\ls -F node_modules | sed -n 's/@$//p' | xargs npm ls -g --depth 0
내 현재 놀이터 디렉토리에 있는 것은 다음과 같습니다.
+-- color@0.11.1
+-- grunt@0.4.5
+-- http-server@0.8.5
+-- jsdom@8.0.2
+-- jsonfile@2.2.3
+-- underscore@1.8.3
+-- xmlserializer@0.3.3
`-- zombie@4.2.1
몇 가지 가정을 하지만 대부분의 경우 작동하거나 아래 설명을 통해 쉽게 적응할 수 있습니다.
- 사용하다
\ls
에서 발생할 수 있는 별칭을 무시합니다.ls
지휘권 - 그
-F
옵션은 링크에 대해 '@' 표시기를 추가합니다. - 그
sed
명령은 이러한 링크를 선택하고 표시기를 제거합니다. - 그
xargs
part는 이전 출력을 인수로 전달합니다.npm ...
npm
를 사용하여 호출됩니다.list
또는ls
버전이 있는 모듈을 나열합니다.- 로 대체합니다.
ll
나열된 각 모듈에 대한 세부 정보를 가져옵니다. -g
글로벌 모듈 및--depth 0
얕은 목록의 경우(선택 사항)--long false
(기본값은 'list')입니다.
문제: 어떤 이유에서인지 npm은 현재 저를 위해 불필요한 항목을 제공합니다(색상이 아닌).그들은 제가 "npm 연결 해제"한 사람들일 것입니다.
현재 npm 경로에 "전체적으로 설치된 모든 모듈 목록"의 경우 다음을 수행합니다.
npm list -g
추가적인 필요성에 대해 알아보실 수 있습니다.
npm help folders
전체 파일 시스템을 검색하지 않으면 심볼릭 링크를 뒤로 이동할 수 없습니다(오후 관련 질문이 아님).
이름별로 파일 및 디렉터리를 빠르게 찾기 위해 사용합니다.locate
일반적으로 하루에 한 번씩 재구성된 인덱스에서 작동합니다.
locate '*/node_modules'
그리고 거기서 작업을 시작합니다(검색을 세분화할 수 있습니다).--regexp
선택.
사용하다
find `npm root -g` -maxdepth 2 -type l
네임스페이스 패키지를 포함한 전역 링크를 표시합니다.
npm ls -g --depth=0 --link=true
하지만 때로는 동료 의존성 오류로 인해 폭발하기도 했습니다.
다음을 사용하는 Symlinked의 Node.js 모듈을 만들었습니다.fs
에 의해 만들어진 상징적인 링크를 확인합니다.npm link
아니면 그렇지 않습니다.
var symlinked = require("symlinked")
console.log(symlinked.names())
제가 직접 도구를 작성한 후에 이 질문을 발견했는데, 여기 완전성을 위한 질문입니다: npm-list-linked.
계층의 모든 연결된 패키지도 반복적으로 따라갑니다.내 직장에서 우리는 가끔npm link
것이 어떤 것이 알 수 있습니다. 2-3단계는 지역적이고 어떤 것이 지역적인지 알 수 있습니다.그것은 놀라움을 피합니다.
npm-list-linked
출력:
Linked packages in /home/user/projects/some-project/
@prefix/package 0.2.7
other-package 0.1.2
저는 저와 다른 사람들이 같은 질문을 하는 것을 많이 봅니다.는 저를 위해 CLI라는 작은 CLI를 썼습니다.link-status
이 정보를 표시하고 다른 사람들에게도 도움이 될 수 있습니다!여기서 확인해 보세요!
Windows에서는 다음 디렉터리를 확인할 수 있습니다.
C:\Users\[username]\AppData\Roaming\npm\node_modules
글로벌 라이브러리 설치와 함께 여기에 나열된 심볼릭 링크 라이브러리가 표시됩니다.
언급URL : https://stackoverflow.com/questions/24933955/how-to-list-all-the-node-js-modules-i-have-linked-with-npm
'programing' 카테고리의 다른 글
번들 UIT 테스트가 손상되었거나 필요한 리소스가 누락되어 로드할 수 없습니다.번들 재설치 시도 (0) | 2023.09.02 |
---|---|
요소 집합의 최대 높이를 가진 요소 (0) | 2023.09.02 |
"인증 플러그인 'caching_sha2_password' (0) | 2023.09.02 |
XHR HEAD 요청이 리디렉션(301 302)을 따르지 않을 수 있습니까? (0) | 2023.09.02 |
PowerShell 시작 텍스트를 제거하려면 어떻게 해야 합니까? (0) | 2023.09.02 |