網站導覽
目錄
package-spec
套件名稱規範
選擇 CLI 版本
目錄
說明
像 npm install
這樣的指令和 package.json
中的相依性區段會使用套件名稱規範。這可能是指「套件」的許多不同事物。範例包括套件名稱、git 網址、tarball 或本機目錄。這些通常會在使用此套件名稱規範的 npm 指令的說明輸出中稱為 <package-spec>
。
套件名稱
[<@scope>/]<pkg>
[<@scope>/]<pkg>@<tag>
[<@scope>/]<pkg>@<version>
[<@scope>/]<pkg>@<version range>
根據名稱、有無範圍,以及標籤、版本或版本範圍來指涉套件。這通常與 registry 設定搭配使用,以指涉註冊表中的套件。
範例
npm
@npmcli/arborist
@npmcli/arborist@latest
npm@6.13.1
npm@^4.0.0
別名
<alias>@npm:<name>
主要由像 npm install
這樣的指令和 package.json
中的相依性區段使用,這會根據別名指涉套件。 <alias>
是套件在 node_modules
資料夾中具體化的名稱,而 <name>
指涉在設定的註冊表中找到的套件名稱。
請參閱上方的 套件名稱
以取得更多關於根據名稱指涉套件的資訊,以及 registry 以設定在根據名稱指涉套件時使用的註冊表。
範例
semver:@npm:@npmcli/semver-with-patch
semver:@npm:semver@7.2.2
semver:@npm:semver@legacy
資料夾
<資料夾>
這是指本機檔案系統上的套件。具體來說,這是一個包含 package.json
檔案的資料夾。這應該總是加上 /
或 ./
(或作業系統等效項)的前綴,以減少混淆。npm 目前會將包含多個 /
的字串解析為資料夾,但這是可能會在未來版本中移除的舊有行為。
範例
./my-package
/opt/npm/my-package
Tarball
<tarball 檔案>
<tarball 網址>
範例
./my-package.tgz
https://registry.npmjs.org/semver/-/semver-1.0.0.tgz
是指 tarball 格式的套件,在本地檔案系統上或透過網址遠端存取。這是套件上傳到註冊表時存在的格式。
git 網址
<git:// 網址>
<github 使用者名稱>/<github 專案>
是指 git 儲存庫中的套件。這可以是完整的 git 網址、git 簡寫,或 GitHub 上的使用者名稱/套件。您可以透過附加 #ref
來指定 git 標籤、分支或其他 git 參照。
範例
https://github.com/npm/cli.git
git@github.com:npm/cli.git
git+ssh://git@github.com/npm/cli#v6.0.0
github:npm/cli#HEAD
npm/cli#c12ea07