Node.js / npm / Komponisto sen radiko

En pli malnova blogaĵo mi priskribis kiel gastigi Node.js senpage per Heroku . Nun mi montros al vi manieron kiel vi povas instali Node.js , npm kaj Composer sur iu ajn alia komuna gastiganto sen radikaj rajtoj kun kelkaj linioj de kodo. Per ĝi vi povas instali pakojn, disfaldi aplikojn Vue.js aŭ simple lanĉi Express.js-servilon. Ni ĉiam laboras en la uzantadresaro kaj uzas nvm - la Nodo-Pakaĵa Administrilo.


Gravas certigi antaŭe, ke komponisto kaj nodo ne disponeblas kaj ke la sekvaj linioj ne generas iun ajn eliron:

16c389ff1cdd9380cc5f9244775eb6c8

Unue, ni difinas provizorajn ĉirkaŭaĵajn variablojn, kiujn ni bezonos poste. Por fari tion, ni specifas la hejman dosierujon de la uzanto (kutime ~/, ĉe iuj komunaj gastigantoj ankaŭ /www/htdocs/xxxxxxx/) kaj la deziratan PHP-version (ekzemple, /usr/bin/php72 kun la provizanto All-Inkl , /usr/local/bin/php7-72LATEST-CLI kun DomainFactory ).:

16c389ff1cdd9380cc5f9244775eb6c8

Nun ni certigos, ke PHP funkcias en sia plej nova versio sur la konzolo. Por fari tion, ni kreos novan dosierujon en la hejma dosierujo, kreos simbolan ligilon, kaj aldonos la dosierujon al la komenco de la PATH-media variablo.

16c389ff1cdd9380cc5f9244775eb6c8

Nun ni instalas tutmondan komponiston elŝutante, kontrolante kaj plenumante la instalan skripton, tiam ankaŭ metante composer.phar en la uzantan dosierujon kaj kreante simbolligon denove:

16c389ff1cdd9380cc5f9244775eb6c8

Ni uzas nvm por instali Node.js. Ĉi tiu estas Bash-skripto fakte desegnita por faciligi la ŝanĝon inter Node-versioj. Ĉi tie, ni utiligas ĝian funkcion, ke ĝi instalas Node.js sen bezono de administraj rajtoj.:

16c389ff1cdd9380cc5f9244775eb6c8

Malgranda korekto en la .bashrc estis necesa por mi:

16c389ff1cdd9380cc5f9244775eb6c8

Nun ni povas instali kaj aktivigi la nunan stabilan version de Node.js:

16c389ff1cdd9380cc5f9244775eb6c8

Helpe de nvm ni ankaŭ povas facile ŝanĝi versiojn.

16c389ff1cdd9380cc5f9244775eb6c8

Mi sukcesis plenumi ĉiujn ĉi tiujn paŝojn senprobleme kun pluraj germanaj provizantoj de komuna retgastigo. Kelkaj retgastigantoj havas problemojn kun simbolaj ligiloj, sed tio ankaŭ povas esti solvita per difinoj de kaŝnomoj . Ekzemple, la jena dosiero .bashrc funkcias por DomainFactory.:

16c389ff1cdd9380cc5f9244775eb6c8

Ankaŭ ekzistas problemoj aliri `/proc/stat` en virtualaj/komunaj medioj, tial, ekzemple, la Node-funkcio `os.cpus()` redonas `undefined` anstataŭ la ĝusta kerno-nombro. Tio kondukas al erarmesaĝoj kiel "Cannot read property 'length' of undefined" dum instalado de npm-pakaĵoj. Mi sukcesis solvi la problemon per uzado de lastatempa Node.js-versio (ekz., 11.15.0) kiu solvas la problemon.

Reen