Supported package sources
pnpm supports installing packages from various sources. These sources are divided into two categories: trusted sources and exotic sources.
Exotic sources (like Git repositories or direct tarball URLs) can introduce supply chain risks when used by transitive dependencies. You can prevent transitive dependencies from using exotic sources by setting blockExoticSubdeps to true.
Trusted sources
Trusted sources are considered safe for both direct and transitive dependencies.
npm registry
pnpm add package-name will install the latest version of package-name from
the npm registry by default.
ワークスペースで実行された場合、最初に他のプロジェクトが指定された依存パッケージを使用しているかどうかを確認しようとします。 その場合、すでに使用されているバージョン範囲がインストールされます。
また、次のようにパッケージをインストールすることも可能です。
- tag:
pnpm add express@nightly - version:
pnpm add express@1.0.0 - version range:
pnpm add express@2 react@">=0.1.0 <0.2.0"
JSR registry
Added in: v10.9.0
To install packages from the JSR registry, use the jsr: protocol prefix:
pnpm add jsr:@hono/hono
pnpm add jsr:@hono/hono@4
pnpm add jsr:@hono/hono@latest
This works just like installing from npm, but tells pnpm to resolve the package through JSR instead.
ワークスペース
Note that when adding dependencies and working within a workspace, packages
will be installed from the configured sources, depending on whether or not
linkWorkspacePackages is set, and use of the
workspace: range protocol.
Local file system
ローカルファイルシステムからインストールする方法は2つあります。
- from a tarball file (
.tar,.tar.gz, or.tgz) - ディレクトリから
例:
pnpm add ./package.tar.gz
pnpm add ./some-directory
When you install from a directory, a symlink will be created in the current
project's node_modules, so it is the same as running pnpm link.
Exotic sources
Exotic sources are useful for development but may pose supply chain risks when used by transitive dependencies.
Remote tarball
引数は、 "http://" または "https://" で始まるフェッチ可能な URL でなければなりません。
例:
pnpm add https://github.com/indexzero/forever/tarball/v0.5.6
Git repository
pnpm add <git remote url>
ホストされた Git プロバイダからパッケージを Git でクローンしてインストールします。
Gitからパッケージをインストールするには、以下の方法があります。
- デフォルトブランチの最新コミット:
pnpm add kevva/is-positive
- Git コミットハッシュ:
pnpm add kevva/is-positive#97edff6f525f192a3f83cea1944765f769ae2678
- Git ブランチ:
pnpm add kevva/is-positive#master
- refs に対する相対的な Git ブランチ:
pnpm add zkochan/is-negative#heads/canary
- Git タグ:
pnpm add zkochan/is-negative#2.0.1
- v で始まる Git タグ:
pnpm add andreineculau/npm-publish-git#v0.0.7
semver を使用して Git リポジトリからインストールする
You can specify version (range) to install using the semver: parameter. 例:
- 厳密な semver:
pnpm add zkochan/is-negative#semver:1.0.0
- v で始まる厳密な semver:
pnpm add andreineculau/npm-publish-git#semver:v0.0.7
- semver バージョン範囲:
pnpm add kevva/is-positive#semver:^2.0.0
- v で始まる semver バージョン範囲:
pnpm add andreineculau/npm-publish-git#semver:<=v0.0.7
Git リポジトリのサブディレクトリからインストールする
You may also install just a subdirectory from a Git-hosted monorepo using the path: parameter. 例:
pnpm add RexSkz/test-git-subfolder-fetch#path:/packages/simple-react-app
完全な URL 経由で Git リポジトリからインストールする
もっと明確にしたい場合や、別の Git ホスティングを使用している場合は、完全な Git URL を明記することをおすすめします。
# git+ssh
pnpm add git+ssh://git@github.com:zkochan/is-negative.git#2.0.1
# https
pnpm add https://github.com/zkochan/is-negative.git#2.0.1
ホスティングプロバイダーのショートカットを使用して、Git リポジトリからインストールする
You can use a protocol shorthand [provider]: for certain Git providers:
pnpm add github:zkochan/is-negative
pnpm add bitbucket:pnpmjs/git-resolver
pnpm add gitlab:pnpm/git-resolver
If [provider]: is omitted, it defaults to github:.
さまざまなパラメータを組み合わせて Git リポジトリからインストールする
It is possible to combine multiple parameters by separating them with &. これはモノレポのフォークで便利です:
pnpm add RexSkz/test-git-subdir-fetch.git#beta\&path:/packages/simple-react-app
Installs from the beta branch and only the subdirectory at /packages/simple-react-app.