Skip to content

import Add from "/snippets/cli/add.mdx";

لإضافة حزمة معينة:

bash
bun add preact

لتحديد إصدار أو نطاق إصدار أو علامة:

bash
bun add zod@3.20.0
bun add zod@^3.0.0
bun add zod@latest

--dev

NOTE

**اسم مستعار** — `--development` و `--d` و `-D`

لإضافة حزمة كتبعية تطوير ("devDependencies"):

bash
bun add --dev @types/react
bun add -d @types/react

--optional

لإضافة حزمة كتبعية اختيارية ("optionalDependencies"):

bash
bun add --optional lodash

--peer

لإضافة حزمة كتبعية نظير ("peerDependencies"):

bash
bun add --peer @types/bun

--exact

NOTE

**اسم مستعار** — `-E`

لإضافة حزمة وتثبيتها على الإصدار المحلول، استخدم --exact. سيقوم هذا بحل إصدار الحزمة وإضافته إلى package.json الخاص بك برقم إصدار دقيق بدلاً من نطاق إصدار.

bash
bun add react --exact
bun add react -E

سيضيف هذا ما يلي إلى package.json الخاص بك:

json
{
  "dependencies": {
    // بدون --exact
    "react": "^18.2.0", // هذا يطابق >= 18.2.0 < 19.0.0

    // مع --exact
    "react": "18.2.0" // هذا يطابق 18.2.0 فقط بدقة
  }
}

لعرض قائمة كاملة بالخيارات لهذا الأمر:

bash
bun add --help

--global

NOTE

**ملاحظة** — لن يعدل هذا package.json لمجلد مشروعك الحالي. **اسم مستعار** - `bun add --global` و `bun add -g` و `bun install --global` و `bun install -g`

لتثبيت حزمة عالميًا، استخدم العلامة -g/--global. لن يعدل هذا package.json الخاص بمشروعك الحالي. يُستخدم هذا عادةً لتثبيت أدوات سطر الأوامر.

bash
bun add --global cowsay # أو `bun add -g cowsay`
cowsay "Bun!"
txt
 ______
< Bun! >
 ------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

تكوين سلوك التثبيت العالمي

toml
[install]
# أين يقوم `bun add --global` بتثبيت الحزم
globalDir = "~/.bun/install/global"

# أين يتم ربط ثنائيات الحزم المثبتة عالميًا
globalBinDir = "~/.bun/bin"

التبعيات الموثوقة

على عكس عملاء npm الآخرين، لا ينفذ Bun نصوص برمجة دورة حياة عشوائية للتبعيات المثبتة، مثل postinstall. تمثل هذه النصوص البرمجية خطر أمان محتمل، حيث يمكنها تنفيذ كود عشوائي على جهازك.

لإخبار Bun بالسماح بنصوص برمجة دورة الحياة لحزمة معينة، أضف الحزمة إلى trustedDependencies في package.json الخاص بك.

json
{
  "name": "my-app",
  "version": "1.0.0",
  "trustedDependencies": ["my-trusted-package"] 
}

يقرأ Bun هذا الحقل وسيقوم بتشغيل نصوص برمجة دورة الحياة لـ my-trusted-package.

تبعيات Git

لإضافة تبعية من مستودع git عام أو خاص:

bash
bun add git@github.com:moment/moment.git

NOTE

لتثبيت المستودعات الخاصة، يحتاج نظامك إلى بيانات اعتماد SSH المناسبة للوصول إلى المستودع.

يدعم Bun مجموعة متنوعة من البروتوكولات، بما في ذلك github و git و git+ssh و git+https وغيرها الكثير.

json
{
  "dependencies": {
    "dayjs": "git+https://github.com/iamkun/dayjs.git",
    "lodash": "git+ssh://github.com/lodash/lodash.git#4.17.21",
    "moment": "git@github.com:moment/moment.git",
    "zod": "github:colinhacks/zod"
  }
}

تبعيات Tarball

يمكن أن يتوافق اسم الحزمة مع ملف .tgz مستضاف علنًا. أثناء التثبيت، سيقوم Bun بتنزيل وتثبيت الحزمة من عنوان URL الخاص بـ tarball المحدد، بدلاً من سجل الحزم.

sh
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgz

سيضيف هذا السطر التالي إلى package.json الخاص بك:

json
{
  "dependencies": {
    "zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
  }
}

Bun بواسطة www.bunjs.com.cn تحرير