Node.js / npm / Composer sans racine

Dans un article de blog plus ancien, j'ai décrit comment héberger Node.js gratuitement en utilisant Heroku . Maintenant, je vais vous montrer comment installer Node.js , npm et Composer sur n'importe quel autre hôte partagé sans droits root avec quelques lignes de code. Avec lui, vous pouvez installer des packages, déployer des applications Vue.js ou simplement démarrer un serveur Express.js. Nous travaillons toujours dans le répertoire utilisateur et utilisons nvm - le gestionnaire de packages de nœuds.


Il est important de s'assurer au préalable que le composeur et le nœud ne sont pas disponibles et que les lignes suivantes ne génèrent aucune sortie:

16c389ff1cdd9380cc5f9244775eb6c8

Nous définissons d'abord les variables d'environnement temporaires dont nous aurons besoin plus tard. Pour ce faire, nous déterminons le répertoire utilisateur de l'utilisateur (généralement ~ /, sur certains hôtes partagés également / www / htdocs / xxxxxxx /) et la version PHP souhaitée (par exemple avec le fournisseur All-Inkl / usr / bin / php72, avec DomainFactory / usr / local / bin / php7-72LATEST-CLI):

16c389ff1cdd9380cc5f9244775eb6c8

Nous nous assurons maintenant que la dernière version de PHP est en cours d'exécution sur la console. Pour ce faire, nous créons un nouveau dossier dans le répertoire de base, créons un lien logiciel et ajoutons le répertoire au début du PATH.

16c389ff1cdd9380cc5f9244775eb6c8

Maintenant, nous installons global composer en téléchargeant, vérifiant et exécutant le script d'installation, puis en plaçant également composer.phar dans le répertoire utilisateur et en créant à nouveau un lien symbolique:

16c389ff1cdd9380cc5f9244775eb6c8

Nous utilisons nvm pour installer Node.js. Il s'agit d'un script bash qui sert en fait à basculer facilement entre les versions de nœud. Nous utilisons ici la propriété que Node.js est installé sans droits root:

16c389ff1cdd9380cc5f9244775eb6c8

Une petite correction dans le .bashrc a été nécessaire pour moi:

16c389ff1cdd9380cc5f9244775eb6c8

Nous pouvons maintenant installer et activer la version stable actuelle de Node.js:

16c389ff1cdd9380cc5f9244775eb6c8

Avec l'aide de NVM, nous pouvons également facilement changer de version.

16c389ff1cdd9380cc5f9244775eb6c8

J'ai pu effectuer toutes ces étapes avec certains hébergeurs partagés allemands sans aucun problème. Certains hébergeurs ont des problèmes avec les liens symboliques, mais aliase peut également aider . Par exemple, le .bashrc suivant aide avec DomainFactory:

16c389ff1cdd9380cc5f9244775eb6c8

Il y a aussi des problèmes lors de l'accès à / proc / stat dans des environnements virtuels / partagés, c'est pourquoi la fonction de nœud os.cpus (), par exemple, retourne undefined au lieu du nombre correct de cœurs . Lors de l'installation de packages npm, cela conduit à des messages d'erreur tels que "Impossible de lire la propriété 'length' de undefined". J'ai pu résoudre le problème en utilisant une version actuelle de Node.js (par exemple 11.15.0) qui a résolu le problème.

Retour