npm 패키지에서 정확한 설치된 버전을 가져옵니다.

npm 패키지에서 정확한 설치된 버전을 가져옵니다.

Fedora 배포판의 Express 애플리케이션에 있는 package.json에서 정확한 설치된 패키지 버전을 찾는 방법은 무엇입니까?

package-lock.json을 볼 수 있지만 용량이 크기 때문에 더 쉬운 방법이 있나요?

나는 노력했다

npm list

하지만 설치되어 있지도 않고 필요하지 않으면 설치하고 싶지 않습니다.

이를 수행하는 쉬운 방법이 있습니까?

답변1

NPM이 패키지 버전 목록을 가져오려면 먼저 NPM 애플리케이션이 있는 폴더로 CD를 이동해야 합니다.

그런 다음 (npm 애플리케이션을 실행하는 폴더에서) 실행하십시오.

npm ls --depth=0 

아무것도 표시되지 않으면 전역적으로 set 명령을 사용해 보십시오.

npm -g ls --depth=0

답변2

다음 스크립트는 지정된 패키지에 대한 package.json 파일의 실행 디렉터리를 검색하고 해당 버전을 인쇄합니다.

# getPackageVersion.sh
# Searches the package.json for a specific package and prints out its version
#
# Usage:
# chmod +x getPackageVersion.sh
# ./getPackageVersion.sh <package_name>

packageName=$1

if [ ! -f ./package.json ]; then
    echo "package.json file not found in current directory."
    exit
fi

if [ -z "$packageName" ]
then
    echo "No package name given."
    exit
fi

packageJsonOutput=$(cat package.json | grep "\"$packageName\": \"*\"")
version=(${packageJsonOutput//:/ })
version=${version[1]//\"/}

if [ "$version" == "" ]
then
    echo "Package not found."
    exit
fi

echo "$version"

용법

chmod +x getPackageVersion.sh
./getPackageVersion.sh <package_name>

$ cd ~/sw/your-project/
$ ./getPackageVersion.sh debug
4.3.1

답변3

Yarn을 패키지 관리자로 사용하는 경우 Yarn.lock에는 run 명령 중에 확인되는 정확한 버전이 포함됩니다 yarn install.

관련 정보