Ավելի հին բլոգում ես նկարագրել եմ, թե ինչպես կարելի է հյուրընկալել Node.js- ին ՝ Heroku- ի միջոցով անվճար: Այժմ ես ձեզ ցույց կտամ մի եղանակ, թե ինչպես կարող եք տեղադրել Node.js , npm և Composer ցանկացած այլ համօգտագործվող սերվերի վրա, առանց արմատային իրավունքների ՝ մի քանի տող կոդերով : Դրանով դուք կարող եք տեղադրել փաթեթներ, տեղակայել Vue.js հավելվածներ կամ պարզապես գործարկել Express.js սերվեր: Մենք միշտ աշխատում ենք օգտագործողների գրացուցակում և օգտագործում ենք nvm - հանգույցների փաթեթների կառավարիչ:
Կարևոր է նախապես ապահովել, որ կոմպոզիտորն ու հանգույցը մատչելի չեն, և հետևյալ տողերը որևէ արդյունք չեն տալիս:
16c389ff1cdd9380cc5f9244775eb6c8
Նախ, մենք սահմանում ենք ժամանակավոր միջավայրի փոփոխականներ, որոնք մեզ ավելի ուշ անհրաժեշտ կլինեն։ Դրա համար մենք նշում ենք օգտատիրոջ տնային գրացուցակը (սովորաբար ~/, որոշ համօգտագործվող հոսթերի վրա նաև /www/htdocs/xxxxxxx/) և ցանկալի PHP տարբերակը (օրինակ՝ /usr/bin/php72 All-Inkl մատակարարով, /usr/local/bin/php7-72LATEST-CLI DomainFactory մատակարարով)։:
16c389ff1cdd9380cc5f9244775eb6c8
Հիմա մենք կհամոզվենք, որ PHP-ն աշխատում է իր վերջին տարբերակով կոնսոլում: Դրա համար մենք կստեղծենք նոր թղթապանակ գլխավոր գրացուցակում, կստեղծենք սիմվոլիկ հղում և կավելացնենք գրացուցակը PATH միջավայրի փոփոխականի սկզբում:
16c389ff1cdd9380cc5f9244775eb6c8
Այժմ մենք տեղադրում ենք գլոբալ կոմպոզիտորը `ներբեռնելով, ստուգելով և կատարելով տեղադրման սցենարը, այնուհետև տեղադրելով composer.phar- ը օգտվողի գրացուցակում և նորից ստեղծելով սիմվոլիկ:
16c389ff1cdd9380cc5f9244775eb6c8
Մենք օգտագործում ենք nvm-ը Node.js-ը տեղադրելու համար։ Սա Bash սկրիպտ է, որը նախատեսված է Node-ի տարբերակների միջև անցումը հեշտացնելու համար։ Այստեղ մենք օգտվում ենք դրա այն առանձնահատկությունից, որ այն տեղադրում է Node.js-ը առանց root արտոնություններ պահանջելու։:
16c389ff1cdd9380cc5f9244775eb6c8
.Bashrc- ում մի փոքր ուղղում անհրաժեշտ էր ինձ համար:
16c389ff1cdd9380cc5f9244775eb6c8
Այժմ մենք կարող ենք տեղադրել և ակտիվացնել Node.js- ի ներկայիս կայուն տարբերակը:
16c389ff1cdd9380cc5f9244775eb6c8
Nvm- ի օգնությամբ մենք կարող ենք նաև հեշտությամբ փոխել տարբերակները:
16c389ff1cdd9380cc5f9244775eb6c8
Ես կարողացա կատարել այս բոլոր քայլերը առանց որևէ խնդրի մի քանի գերմանական համատեղ հոսթինգ մատակարարների հետ։ Որոշ հոսթինգներ խնդիրներ ունեն սիմվոլիկ հղումների հետ, բայց դա կարող է լուծվել նաև կեղծանունների սահմանումների միջոցով։ Օրինակ, հետևյալ .bashrc ֆայլը աշխատում է DomainFactory-ի համար։:
16c389ff1cdd9380cc5f9244775eb6c8
Վիրտուալ/համօգտագործվող միջավայրերում կան նաև խնդիրներ `/proc/stat`-ին մուտք գործելու հետ կապված, այդ իսկ պատճառով, օրինակ, Node ֆունկցիան `os.cpus()` ճիշտ միջուկների քանակի փոխարեն վերադարձնում է `undefined`: Սա npm փաթեթներ տեղադրելիս հանգեցնում է սխալի հաղորդագրությունների, ինչպիսիք են՝ «Չի կարելի կարդալ 'length' հատկությունը undefined-ի համար» արտահայտությունը: Ես կարողացա լուծել խնդիրը՝ օգտագործելով Node.js-ի վերջին տարբերակը (օրինակ՝ 11.15.0), որը լուծում է խնդիրը: