Ana içeriğe atla
Sürüm: Gelecek

pnpm add <paket-adı>

Belirtilen paketi ve bağımlı olduğu diğer paketleri yükler. Komutun varsayılan eylemi, eklemek istenilen paketi production seviyesinde, yani dependencies kısmına tanımlayarak yükler.

Kısaca;

Komutİşlevi
pnpm add saxdependencies kısmına tanımlayarak yükler
pnpm add -D saxdevDependencies kısmına tanımlayarak yükler
pnpm add -O saxoptionalDependencies kısmına tanımlayarak yükler
pnpm add -g saxPaketi global olarak yükler
pnpm add sax@nextPaketin, next etiketli sürümünü yükler
pnpm add sax@3.0.0Paketin, 3.0.0 sürümünü yükler

Desteklenen paket kaynakları/konumları

npm kayıtlarından yükleme

pnpm add paket-ismi, paket-ismi paketinin son sürümünü varsayılan olarak npm veri tabanı'ndan yükler.

Bir çalışma alanında yürütülürse, komut önce projenin belirtilen paketi kullanıp kullanmadığını kontrol etmeye çalışır. Bu durumda, halihazırda kullanılan sürüm aralığı yüklenecektir.

Paket kurulumunu aşağıdaki alternatif örneklerle de yapabilirsin:

  • tag/etiket belirterek: pnpm add express@nightly
  • sürüm belirterek: pnpm add express@1.0.0
  • iki sürüm aralığı belirterek: pnpm add express@2 react@">=0.1.0<0.2.0"

Çalışma alanından/Workspace'den yükleme

Paket kurulumu yaparken ve çalışma alanı içerisinde çalışırken; yüklemek istenilen paket link-workspace-packages ayarının tanımlı olması veya olmaması ve workspace: sürüm aralığı kullanılması durumuna bağlı olarak, sadece belirtilen kaynaktan yüklenir.

Yerel dosya sisteminden yükleme

Yerel dosya sisteminden yüklemenin iki yolu var:

  1. tarball dosyası kullanarak (.tar, .tar.gz veya .tgz)
  2. bir dizini kaynak olarak belirterek

Şu şekilde:

pnpm add ./package.tar.gz
pnpm add ./some-directory

Bir dizini kaynak olarak belirterek yükleme yaptığında, projenin node_modules klasörü içerisinde belirtilen dizin için sembolik bağ (symlink) oluşturulur. Bu işlem aynı zamanda pnpm link komutu ile aynı şekilde çalışır.

Tarball linki ile yükleme

Belirtilecek olan link, "http://" veya "https://" ile başlamalı ve indirmeye uygun bir URL olmalıdır.

Örnek kullanım:

pnpm add https://github.com/indexzero/forever/tarball/v0.5.6

Git deposundan yükleme

pnpm add <git remote url>

Installs the package from the hosted Git provider, cloning it with Git.

You may install packages from Git by:

  • Latest commit from default branch:
pnpm add kevva/is-positive
  • Git commit hash:
pnpm add kevva/is-positive#97edff6f525f192a3f83cea1944765f769ae2678
  • Git branch:
pnpm add kevva/is-positive#master
  • Git branch relative to refs:
pnpm add zkochan/is-negative#heads/canary
  • Git tag:
pnpm add zkochan/is-negative#2.0.1
  • V-prefixed Git tag:
pnpm add andreineculau/npm-publish-git#v0.0.7
  • Version range:
pnpm add kevva/is-positive#semver:^2.0.0

Semver

You can specify version (range) to install using the semver: parameter. For example:

  • Strict semver:
pnpm add zkochan/is-negative#semver:1.0.0
  • V-prefixed strict semver:
pnpm add andreineculau/npm-publish-git#semver:v0.0.7
  • Semver version range:
pnpm add kevva/is-positive#semver:^2.0.0
  • V-prefixed semver version range:
pnpm add andreineculau/npm-publish-git#semver:<=v0.0.7

Subdirectory

You may also install just a subdirectory from a Git-hosted monorepo using the path: parameter. For instance:

pnpm add RexSkz/test-git-subfolder-fetch#path:/packages/simple-react-app

Full URL

If you want to be more explicit or are using alternative Git hosting, you might want to spell out full 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

Providers shorthand

You can use a protocol shorthand [provier]: 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 omited, it defaults to github:.

Parameters combination

It is possible to combine multiple parameters by separating them with &. This can be useful for forks of monorepos:

# Install git branch `beta`
# Install only subfolder `/packages/simple-react-app`
pnpm add RexSkz/test-git-subfolder-fetch.git#beta&path:/packages/simple-react-app

Parametreler

--save-prod, -P

Belirtilen paketleri dependencies kısmına tanımlayarak yükler.

--save-dev, -D

Belirtilen paketleri devDependencies kısmına tanımlayarak yükler.

--save-optional, -O

Belirtilen paketleri optionalDependencies kısmına tanımlayarak yükler.

--save-exact, -E

Yüklenecek olan paketleri, pnpm'in varsayılan semver aralık operatörünü kullanmadan yükler. Yani, ^ karakterini, sürüm bilgisinin başına eklenmez.

--save-peer

Paket yüklerken --save-peer kullanıldığında yüklenecek olan paketler, peerDependencies kısmına eklenerek, bir dev dependencies'miş gibi yüklenir.

--ignore-workspace-root-check

Adding a new dependency to the root workspace package fails, unless the --ignore-workspace-root-check or -w flag is used.

For instance, pnpm add debug -w.

--global, -g

Paketi, global olarak yükler.

--workspace

Belirlenen paket workspace içerisinde bulunduğu takdirde, hedef projeye dependency (bağ) olarak yükler.

--filter <paket_seçici>

Buradan daha fazla bilgiye ulaşabilirsin.