Node.js / npm / Συνθέτης χωρίς ρίζα

Σε μια παλαιότερη ανάρτηση ιστολογίου περιέγραψα πώς να φιλοξενήσω το Node.js δωρεάν χρησιμοποιώντας το Heroku . Τώρα θα σας δείξω έναν τρόπο με τον οποίο μπορείτε να εγκαταστήσετε Node.js , npm και Composer σε οποιονδήποτε άλλο κοινόχρηστο κεντρικό υπολογιστή χωρίς δικαιώματα ρίζας με μερικές γραμμές κώδικα. Με αυτό μπορείτε να εγκαταστήσετε πακέτα, να αναπτύξετε εφαρμογές Vue.js ή απλά να ξεκινήσετε έναν διακομιστή Express.js. Εργαζόμαστε πάντα στον κατάλογο χρηστών και χρησιμοποιούμε το nvm - το Node Package Manager.


Είναι σημαντικό να διασφαλιστεί εκ των προτέρων ότι ο συνθέτης και ο κόμβος δεν είναι διαθέσιμοι και ότι οι ακόλουθες γραμμές δεν δημιουργούν έξοδο:

16c389ff1cdd9380cc5f9244775eb6c8

Πρώτα ορίζουμε προσωρινές μεταβλητές περιβάλλοντος που θα χρειαστούμε αργότερα. Για να γίνει αυτό, καθορίζουμε τον κατάλογο χρήστη του χρήστη (συνήθως ~ /, σε ορισμένους κοινόχρηστους κεντρικούς υπολογιστές / www / htdocs / xxxxxxx /) και την επιθυμητή έκδοση PHP (για παράδειγμα με τον πάροχο All-Incl / usr / bin / php72, με DomainFactory / usr / local / bin / php7-72 ΝΕΟΤΕΡΑ-CLI):

16c389ff1cdd9380cc5f9244775eb6c8

Τώρα βεβαιώνουμε ότι η τελευταία έκδοση της PHP εκτελείται στην κονσόλα. Για να το κάνουμε αυτό, δημιουργούμε έναν νέο φάκελο στον αρχικό κατάλογο, δημιουργούμε έναν μαλακό σύνδεσμο και προσθέτουμε τον κατάλογο στην αρχή του PATH.

16c389ff1cdd9380cc5f9244775eb6c8

Τώρα εγκαθιστούμε τον παγκόσμιο συνθέτη, κατεβάζοντας, ελέγχοντας και εκτελώντας το σενάριο εγκατάστασης, τοποθετώντας επίσης τον συνθέτη.phar στον κατάλογο χρηστών και δημιουργώντας ξανά ένα symlink:

16c389ff1cdd9380cc5f9244775eb6c8

Χρησιμοποιούμε το nvm για την εγκατάσταση του Node.js. Αυτό είναι ένα σενάριο bash που χρησιμεύει στην εύκολη εναλλαγή μεταξύ των εκδόσεων κόμβων. Χρησιμοποιούμε την ιδιότητα εδώ ότι το Node.js είναι εγκατεστημένο χωρίς δικαιώματα root:

16c389ff1cdd9380cc5f9244775eb6c8

Μια μικρή διόρθωση στο .bashrc ήταν απαραίτητη για μένα:

16c389ff1cdd9380cc5f9244775eb6c8

Τώρα μπορούμε να εγκαταστήσουμε και να ενεργοποιήσουμε την τρέχουσα σταθερή έκδοση του Node.js:

16c389ff1cdd9380cc5f9244775eb6c8

Με τη βοήθεια του nvm μπορούμε επίσης να αλλάξουμε εύκολα εκδόσεις.

16c389ff1cdd9380cc5f9244775eb6c8

Ήμουν σε θέση να πραγματοποιήσω όλα αυτά τα βήματα με ορισμένους γερμανικούς κοινόχρηστους παρόχους φιλοξενίας χωρίς προβλήματα. Ορισμένοι κεντρικοί υπολογιστές έχουν προβλήματα με συνδέσμους , αλλά το ψευδώνυμο μπορεί επίσης να βοηθήσει Για παράδειγμα, το ακόλουθο .bashrc βοηθά με το DomainFactory:

16c389ff1cdd9380cc5f9244775eb6c8

Υπάρχουν επίσης προβλήματα κατά την πρόσβαση στο / proc / stat σε εικονικά / κοινόχρηστα περιβάλλοντα, γι 'αυτό η λειτουργία κόμβου os.cpus (), για παράδειγμα, επιστρέφει απροσδιόριστη αντί του σωστού αριθμού πυρήνων . Κατά την εγκατάσταση πακέτων npm, αυτό οδηγεί σε μηνύματα σφάλματος, όπως "Δεν είναι δυνατή η ανάγνωση της ιδιότητας" μήκος "του ακαθόριστου". Κατάφερα να λύσω το πρόβλημα χρησιμοποιώντας μια πρόσφατη έκδοση του Node.js (π.χ. 11.15.0) που αντιμετώπισε το πρόβλημα.

Πίσω