120

パッケージのソースコードを実際にインストールせずに(つまり、を使用せずに)npmからダウンロードするにはどうすればよいnpm install thepackageですか?

4

9 に答える 9

77

これを行うより簡単な方法は、npm pack <package_name>. これにより、レジストリから tarball が取得され、npm キャッシュに配置され、コピーが現在の作業ディレクトリに配置されます。https://docs.npmjs.com/cli/packを参照してください

于 2016-05-06T19:09:14.563 に答える
36

npm pack XXX入力するのが最も速く、アーカイブをダウンロードします。

または:

npm v XXX dist.tarball | xargs curl | tar -xz

このコマンドは次のことも行います。

  • プログレスバー付きのパッケージをダウンロードする
  • というフォルダに抽出します。package
于 2016-06-30T08:10:28.650 に答える
0

Gustavo Rodrigues の回答に基づいて、.tgz の「パッケージ」ディレクトリを修正し、最新のマイナー バージョンの検出を追加します。

#!/bin/bash

if [[ $# -eq 0 ]] ; then
    echo "Usage: $0 jquery bootstrap@3 tinymce@4.5"
    exit 64 ## EX_USAGE
fi

set -e ## So nothing gets deleted if download fails

for pkg_name in "$@"
do

    ## Get latest version, also works with plain name
    url=$( npm v $pkg_name dist.tarball | tail -n 1 | cut -d \' -f 2 )
    tmp_dir=$( mktemp -d -p . "${pkg_name}__XXXXXXXXX" )

    ## Unpacks to directory named after package@version
    curl $url | tar -xzf - --strip 1 --directory $tmp_dir
    rm -rf $pkg_name
    mv $tmp_dir $pkg_name
done
于 2018-03-29T11:24:36.377 に答える
0

ローカルに何もダウンロードせずに、単に npm パッケージの内容の概要を表示するには、次を使用できます。

npm pack --dry-run <package-name>

デモ:

$ npm pack --dry-run express
npm notice
npm notice   express@4.17.2
npm notice === Tarball Contents ===
npm notice 110.6kB History.md
npm notice 1.2kB   LICENSE
npm notice 4.8kB   Readme.md
npm notice 224B    index.js
npm notice 14.3kB  lib/application.js
npm notice 2.4kB   lib/express.js
npm notice 853B    lib/middleware/init.js
npm notice 885B    lib/middleware/query.js
npm notice 12.5kB  lib/request.js
npm notice 27.3kB  lib/response.js
npm notice 15.0kB  lib/router/index.js
npm notice 3.3kB   lib/router/layer.js
npm notice 4.1kB   lib/router/route.js
npm notice 5.9kB   lib/utils.js
npm notice 3.3kB   lib/view.js
npm notice 2.8kB   package.json
npm notice === Tarball Details ===
npm notice name:          express
npm notice version:       4.17.2
npm notice filename:      express-4.17.2.tgz
npm notice package size:  54.7 kB
npm notice unpacked size: 209.6 kB
npm notice shasum:        c18369f265297319beed4e5558753cc8c1364cb3
npm notice integrity:     sha512-oxlxJxcQlYwqP[...]66Ha8jCUo9QGg==
npm notice total files:   16
npm notice
express-4.17.2.tgz
于 2022-01-11T11:39:17.170 に答える