Linux רובע םיליבומ Node.js תוליבח ילהנמ 3


Node.js ימושייב שומישו חותיפ תעב .םלועב הנכותה חותיפ תיישעת תא תולטלטמש רתויב תוירלופופה תונכתה תופשמ תחא איה Node.js, תוליבח להנמ איה הילע םיכמתסמ םמצע ואצמי דימת םייללכ םישמתשמו םיחתפמש

.םיטקיורפ לוהינ יביכר םג םיללוכ תוליבחה ילהנממ קלח .תולת לוהינו הליבח תנקתה ללוכ תובר םיכרדב רזועו (Node.js לש תורושק תוליבחו םימושיי ,תוירפס םיליכמה) םינווקמ תוליבח ירגאמ םע היצקארטניא םי

.ךלש םושייה םע הז .התוא בלשלו םימושייה תיירפסב ךלש תכרעמב התוא ןיקתהל ידכ תוליבח להנמב שמתשהל לכות ,ירוביצ רגאמב תמייק רבכ ךלש םושייב הנותנ תוילנויצקנופ תמשיימה םניחב תינוציח היירפסש ןיבמו

.יוארכ דובעי םושייהש ידכ ,ןכ םג ןקתות היירפסה ,םושייה תנקתומ הב תכרעמ לכש ךכ ,ךלש םושייב תולתכ היירפסה תא ןייצל םג עייסמ תוליבחה להנמ

.סקוניל תכרעמב ןיקתהל ולכותש Node.js לש םיליבומה תוליבחה ילהנמ תא רוקסנ הז רמאמב

1. NPM - תוליבחה להנמ Node.js

npm לש תיגולוקאה תכרעמב אובמל הקוקז אל Node.js. הז המ לבא npm? npm תוליבח להנמ הז - תמאב םירבד הברה לש בוליש אוה Node, npm Registry הדוקפה תרוש חוקלו npm.

.MacOS -ו UNIX, Windows -ל תומודה תורחא תוכרעמו סקוניל לע לעופ אוה .תולת לוהינו תואסרג לוהינל םג שמשמה ,npm םשב הדוקפ תרוש חוקלב םישמתשמ םיחתפמ ,תוליבח םסרפלו ןיקתהל ידכ .תוליבח לש הרוצב ם

.רתוי תושעלו ךלש תולתה תא רקבל ,םינוכדע םסרפל ,תוירוביצ תוליבח רוציל ךל תרשפאמה תורשפא ,םניחב וב שמתשהל לוכי התא .תשרב חותפ דוק לש רתויב םילודגהו םיירלופופה םימושירה דחא והז .םימושייו תויר

.ירוביצ ןפואב ףתושמ וניאש ימינפ ןפואב תוליבח חתפל םהל רשפאמה npm Enterprise -ב רוחבל םילוכי םיקסעל םייטירק םיטקיורפ לע םידבועה םילודג חותיפ יתווצ .םייטרפ םירגאמ ןוגכ םיבר תונורתי םע העיגמש

.ןלהל ראותמה Node.js לש רחאה תוליבחה להנמ לכ תנקתהל שמשמ npm -ש ןיינעמ .npm -ה תא םג תיטמוטוא ןיקת ,ךלש סקונילה תכרעמב Node.js תא ןיקתת רשאכש איה תועמשמה ,Node.js תליבח םע ץפומ npm הדוקפה

npm תחטבאב םג ךמות JavaScript, בוליש ךות npm תוכרעמ ןוגכ ,ישילש דצ לש םילכ םע CI/CD (Continuous Integration/Continuous Delivery), הברה ךכ לכ דועו.

.ךלש המיאתמה סקונילה תצפהב תודוקפה יפל לעפ ,סקוניל תוכרעמב NPM -ו Node.js לש הנורחאה הסרגה תא ןיקתהל ידכ

$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt-get install -y nodejs
# curl -sL https://rpm.nodesource.com/setup_14.x | bash -
# yum -y install nodejs
Or
# dnf -y install nodejs

Node.js תוליבח להנמ - טוח .2

.Node.js -ב תוכמותה UNIX תויומד תורחא הלעפה תוכרעמו ,macOS -ו Linux, Windows -ב :םוקמ לכב דבוע טוח .רוזחשו םיביצי םיטקיורפל םיטקיורפ להנמ םג אוהש אלא ,חותפו ןימא ,חטבואמ ,ריהמ חותפ דוק תול

.ךלש םושייב םירחא םיחתפמ לש דוקב שמתשהל םג לכות ,ןפוא ותואב .םלועה יבחרב םירחא םיחתפמ םע הליבח תועצמאב ךלש דוקה תא ףתשל ךל רשפאמ אוה ,תוליבח להנמכ

.תתבשומ תשרהשכ םג רדסב דובעל ול רשפאמה ןווקמ אלה ןומטמה אוה Yarn לש ףסונ יזכרמ ןייפאמ .דיחי רגאמב םינסחואמה הנשמ יביכרמל ךלש טקיורפה תא לצפל ךל רשפאמ אוהש ךכב ופרונומ לש םיינוניבו םינטק םי

.הציר ןמזב תולתה ץע תא ןוחבל םכל רשפאמה Plug'n'Play (PnP) לש API קשממ ללוכ אוה ,ףסונב .הזב הז םבלשל ןתינו ,םימיוסמ םיעוריאל המשרה ,תושדח תודוקפ ,םישדח םירושיק ,םישדח םירצולוזר ,תושדח תונוכ

.הנוכת רשאמ היפוסוליפ רתוי איהש "הנקתה ספא"\ו הדובע תמירז רורחש ,םיצוליא ןוגכ הריגדב תואצמנ ןיידע ולש תונוכתהמ קלחו בטיה דעותמ טוח ,ןכ לע רתי

.ךל המיאתמה סקונילה תוגלפתהב תואבה תודוקפה תועצמאב Yarn תא ןיקתהל ןכמ רחאלו תכרעמב Node.js תא הליחת ןיקתהל ךילע ,סקוניל תוכרעמב Yarn לש רתויב תינכדעה הסרגה תא ןיקתהל ידכ

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt update
$ sudo apt install yarn
# curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
# rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
# yum install yarn
OR
# dnf install yarn

3. Pnpm - תוליבחה להנמ Node.js

pnpm ו תונולח ,סקוניל לע דבוע הז ,תומרופטלפ הצוח הז .חותפ רוקמו ליעי קסיד חטש ,ריהמ תוליבח להנמ אוה- macOS. ומכ אלש npm הירפס םירצויה טוחו node_modules החוטש, pnpm תסירפ רצוי אוה :תרחא תצק

.קסיד חטש לש הגי'ג ךוסחל ךל תרשפאמ איהש ךכב הליעי וז השיג .תונכתל דיחי ןוסחאמ םירשוקמ node_modules ךותב םיצבקה

.דחא רגאמ ךותב םיבורמ םיטקיורפ דחאל ידכ הדובע בחרמ רוציל לוכי התא רמולכ ,הדובע תוביבסב תינבומ הכימת םג ול שי .הלש package.json ץבוקב תניוצמה דבלב תולתל תשגל הליבחל תרשפאמ איה ,תולת לוהינל

."garn install" וא "npm install"\ץירהל הסנמ והשימ רשאכ ,לשמל ,Node.js לש םירחאה תוליבחה ילהנמב אל ךא pnpm -ב קר שמתשהל ולכוי םירחא םישמתשמש ךכ ךלש טקיורפה תא רידגהל לכותו .Sail CI -ו Tra

pnpm ארקנה הליענ ץבוקב שמתשמו ,הדוקפ תרוש תייסיטרכ תמלשה ,תישיא םימאתומ תומש םע תוליבח ןיקתהל ךל םירשפאמה םייוניכב םג ךמות pnpm-lock.yaml.

.גצומש יפכ npm תוליבחה להנמ תועצמאב איה pnpm ןיקתהל רתויב הלקה ךרדה

$ sudo npm install -g pnpm
# npm install -g pnpm

.הטמלש בושמה ספוט תועצמאב ונתוא ףתש ,הז רמאמ לע ךתעד המ תעדל וננוצרב .סקונילב ןיקתהל לכותש Node.js -ב םיליבומה תוליבחה ילהנמ תא ונרקס הז רמאמב