I et ældre blogindlæg beskrev jeg, hvordan man hoster Node.js gratis ved hjælp af Heroku . Nu vil jeg vise dig en måde, hvordan du kan installere Node.js , npm og Composer på enhver anden delt vært uden rodrettigheder med et par kodelinjer. Med det kan du installere pakker, distribuere Vue.js-applikationer eller bare starte en Express.js-server. Vi arbejder altid i brugerkataloget og bruger nvm - Node Package Manager.
Det er vigtigt at sikre sig på forhånd, at komponist og node ikke er til stede, og at de følgende linjer ikke producerer noget output:
16c389ff1cdd9380cc5f9244775eb6c8
Først definerer vi midlertidige miljøvariabler, som vi skal bruge senere. For at gøre dette angiver vi brugerens hjemmemappe (normalt ~/, på nogle delte værter også /www/htdocs/xxxxxxx/) og den ønskede PHP-version (for eksempel /usr/bin/php72 med udbyderen All-Inkl , /usr/local/bin/php7-72LATEST-CLI med DomainFactory ).:
16c389ff1cdd9380cc5f9244775eb6c8
Nu sørger vi for, at PHP kører i sin seneste version på konsollen. For at gøre dette opretter vi en ny mappe i hjemmemappen, opretter et symbolsk link og tilføjer mappen i starten af PATH-miljøvariablen.
16c389ff1cdd9380cc5f9244775eb6c8
Nu installerer vi global komponist ved at downloade, kontrollere og udføre installationsskriptet og derefter placere composer.phar i brugerkataloget og oprette et symlink igen:
16c389ff1cdd9380cc5f9244775eb6c8
Vi bruger nvm til at installere Node.js. Dette er et Bash-script, der faktisk er designet til at gøre det nemt at skifte mellem Node-versioner. Her udnytter vi dets funktion, hvor det installerer Node.js uden at kræve root-rettigheder.:
16c389ff1cdd9380cc5f9244775eb6c8
En lille korrektion i .bashrc var nødvendig for mig:
16c389ff1cdd9380cc5f9244775eb6c8
Nu kan vi installere og aktivere den nuværende stabile version af Node.js:
16c389ff1cdd9380cc5f9244775eb6c8
Ved hjælp af nvm kan vi også let skifte version.
16c389ff1cdd9380cc5f9244775eb6c8
Jeg var i stand til at udføre alle disse trin uden problemer med flere tyske udbydere af delt hosting. Nogle hosts har problemer med symbolske links, men dette kan også løses ved hjælp af aliasdefinitioner . For eksempel fungerer følgende .bashrc-fil for DomainFactory.:
16c389ff1cdd9380cc5f9244775eb6c8
Der er også problemer, for eksempel ved adgang til /proc/stat i virtuelle / delte miljøer, hvorfor for eksempel nodefunktionen os.cpus() returnerer undefined i stedet for det korrekte kernenummer. Dette fører til fejlmeddelelser som "Kan ikke læse egenskabens 'længde' af udefineret", når du installerer npm-pakker. Jeg var i stand til at løse problemet ved at bruge en nyere Node.js-version (f.eks. 11.15.0), der løste problemet.