Npm
ಎನ್ಪಿಎಂ ಎಂಬುದು ಎನ್ಪಿಎಂ ನಿರ್ವಹಿಸುತ್ತಿರುವ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಆಗಿದೆ. ಎನ್ಪಿಎಂ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ರನ್ಟೈಮ್ ಎನ್ವಿರಾನ್ಮೆಂಟ್ Node.js ಗಾಗಿ ಡೀಫಾಲ್ಟ್ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಆಗಿದೆ ಮತ್ತು ಇದನ್ನು Node.js ಇನ್ಸ್ಟಾಲರ್ನಲ್ಲಿ ಶಿಫಾರಸು ಮಾಡಲಾದ ವೈಶಿಷ್ಟ್ಯವಾಗಿ ಸೇರಿಸಲಾಗಿದೆ. ಇದು ಎನ್ಪಿಎಂ ಎಂದೂ ಕರೆಯಲಾಗುವ ಕಮಾಂಡ್ ಲೈನ್ ಕ್ಲೈಂಟ್ ಮತ್ತು ಎನ್ಪಿಎಂ ರಿಜಿಸ್ಟ್ರಿ ಎಂದು ಕರೆಯಲಾಗುವ ಸಾರ್ವಜನಿಕ ಮತ್ತು ಪಾವತಿಸಿದ ಖಾಸಗಿ ಪ್ಯಾಕೇಜ್ಗಳ ಆನ್ಲೈನ್ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ನೋಂದಣಿಯನ್ನು ಕ್ಲೈಂಟ್ ಮೂಲಕ ಪ್ರವೇಶಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಲಭ್ಯವಿರುವ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಎನ್. ಪಿ. ಎಂ. ಜಾಲತಾಣದ ಮೂಲಕ ಬ್ರೌಸ್ ಮಾಡಬಹುದು ಮತ್ತು ಹುಡುಕಬಹುದು. ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಮತ್ತು ರಿಜಿಸ್ಟ್ರಿಯನ್ನು ಎನ್ಪಿಎಂ, ಇಂಕ್ ನಿರ್ವಹಿಸುತ್ತದೆ. ಹಿಸ್ಟರಿ ಎನ್ಪಿಎಂ ಅನ್ನು ಐಸಾಕ್ ಝಡ್. ಶ್ಲೂಟರ್ ಅವರು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ್ದಾರೆ, ಇದರ ಪರಿಣಾಮವಾಗಿ "ಮಾಡ್ಯೂಲ್ ಪ್ಯಾಕೇಜಿಂಗ್ ಅನ್ನು ಭೀಕರವಾಗಿ ಮಾಡಲಾಗಿದೆ" ಮತ್ತು ಪಿಇಎಆರ್ (ಪಿಎಚ್ಪಿ) ಮತ್ತು ಸಿಪಿಎಎನ್ (ಪರ್ಲ್) ನಂತಹ ಇತರ ರೀತಿಯ ಯೋಜನೆಗಳಿಂದ ಸ್ಫೂರ್ತಿ ಪಡೆದಿದೆ. ಎನ್. ಪಿ. ಎಂ. ಎಂಬುದು ಶೆಲ್ ಲಿಪಿಯಾದ ಪಿ. ಎಂ. ಗೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬದಲಿಯಾಗಿದೆ. "ಎನ್ಪಿಎಂ" ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ "ನೋಡ್ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್" ನ ಸಂಕ್ಷಿಪ್ತ ರೂಪವೆಂದು ಅರ್ಥೈಸಲಾಗಿದ್ದರೂ, ಇದು ಅಧಿಕೃತವಾಗಿ "ಎನ್ಪಿಎಂ ಒಂದು ಸಂಕ್ಷಿಪ್ತ ರೂಪವಲ್ಲ" ಎಂದು ಸೂಚಿಸುತ್ತದೆ. ಬಳಕೆ ಎನ್. ಪಿ. ಎಂ. ನಿರ್ದಿಷ್ಟ ಯೋಜನೆಯ ಸ್ಥಳೀಯ ಅವಲಂಬನೆಗಳ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಮತ್ತು ಜಾಗತಿಕವಾಗಿ ಸ್ಥಾಪಿಸಲಾದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಉಪಕರಣಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು. ಸ್ಥಳೀಯ ಯೋಜನೆಗೆ ಅವಲಂಬನೆಯ ವ್ಯವಸ್ಥಾಪಕರಾಗಿ ಬಳಸಿದಾಗ, ಎನ್ಪಿಎಂ ಒಂದು ಆಜ್ಞೆಯಲ್ಲಿ, package.json ಕಡತದ ಮೂಲಕ ಯೋಜನೆಯ ಎಲ್ಲಾ ಅವಲಂಬನೆಗಳನ್ನು ಸ್ಥಾಪಿಸಬಹುದು. package.json ಕಡತದಲ್ಲಿ, ಪ್ರತಿ ಅವಲಂಬನೆಯು ಶಬ್ದಾರ್ಥದ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಮಾನ್ಯ ಆವೃತ್ತಿಗಳ ಶ್ರೇಣಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು, ಇದು ಅಭಿವರ್ಧಕರಿಗೆ ತಮ್ಮ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನವೀಕರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಮತ್ತು ಅದೇ ಸಮಯದಲ್ಲಿ ಅನಗತ್ಯ ಬ್ರೇಕಿಂಗ್ ಬದಲಾವಣೆಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ. ಡೆವಲಪರ್ಗಳು ತಮ್ಮ ಪ್ಯಾಕೇಜುಗಳನ್ನು ನಿರ್ದಿಷ್ಟ ಆವೃತ್ತಿಯೊಂದಿಗೆ ಟ್ಯಾಗ್ ಮಾಡಲು ಆವೃತ್ತಿ-ಬಂಪಿಂಗ್ ಉಪಕರಣಗಳನ್ನು ಸಹ ಎನ್ಪಿಎಂ ಒದಗಿಸುತ್ತದೆ. ಎನ್ಪಿಎಂ package.json ನಲ್ಲಿ ಶಬ್ದಾರ್ಥದ ಆವೃತ್ತಿಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಿದ ನಂತರ ಯೋಜನೆಯು ಬಳಸುವ ನಿಖರವಾದ ಆವೃತ್ತಿಯ ನಮೂದನ್ನು ಹೊಂದಿರುವ package-lock.json ಕಡತವನ್ನು ಸಹ ಒದಗಿಸುತ್ತದೆ. ಕ್ಲೈಂಟ್ ಎನ್ಪಿಎಂನ ಕಮಾಂಡ್-ಲೈನ್ ಇಂಟರ್ಫೇಸ್ ಕ್ಲೈಂಟ್ ಬಳಕೆದಾರರಿಗೆ ನೋಂದಾವಣೆಯಲ್ಲಿ ಲಭ್ಯವಿರುವ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಬಳಸಲು ಮತ್ತು ವಿತರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. 2018ರ ಫೆಬ್ರವರಿಯಲ್ಲಿ, ಲಿನಕ್ಸ್ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ ಸುಡೋ ಎನ್ಪಿಎಂ ಚಾಲನೆಯಲ್ಲಿರುವ ಸಮಸ್ಯೆಯು ಸಿಸ್ಟಮ್ ಫೈಲ್ಗಳ ಮಾಲೀಕತ್ವವನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ ಮತ್ತು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಶಾಶ್ವತವಾಗಿ ಮುರಿಯುತ್ತದೆ ಎಂದು ಆವೃತ್ತಿ 5.7ರಲ್ಲಿ ಕಂಡುಹಿಡಿಯಲಾಯಿತು. ಎನ್ಪಿಎಂ ಆವೃತ್ತಿ 6ರಲ್ಲಿ, ಸ್ಥಾಪಿಸಲಾದ ಪ್ಯಾಕೇಜುಗಳಲ್ಲಿನ ಭದ್ರತಾ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ಮತ್ತು ಸರಿಪಡಿಸಲು ಅಭಿವರ್ಧಕರಿಗೆ ಸಹಾಯ ಮಾಡಲು ಲೆಕ್ಕಪರಿಶೋಧನಾ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಪರಿಚಯಿಸಲಾಯಿತು. ಭದ್ರತಾ ದೋಷಗಳ ಮೂಲವನ್ನು ನೋಡ್ ಸೆಕ್ಯುರಿಟಿ ಪ್ಲಾಟ್ಫಾರ್ಮ್ (ಎನ್. ಎಸ್. ಪಿ) ನಲ್ಲಿ ಕಂಡುಬರುವ ವರದಿಗಳಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ ಮತ್ತು ಎನ್. ಪಿ. ಎಂ. ಎನ್. ಎಸ್. ಪಿ. ಯನ್ನು ಸ್ವಾಧೀನಪಡಿಸಿಕೊಂಡಾಗಿನಿಂದ ಇದನ್ನು ಎನ್. ಪಿ. ಎಂ. ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ. ನೋಂದಣಿಯಲ್ಲಿನ ನೋಂದಾವಣೆ ಪ್ಯಾಕೇಜುಗಳು ಎಸ್ಮಾಸ್ಕ್ರಿಪ್ಟ್ ಮಾಡ್ಯೂಲ್ (ಇಎಸ್ಎಮ್) ಅಥವಾ ಕಾಮನ್ಜೆಎಸ್ ಸ್ವರೂಪದಲ್ಲಿರುತ್ತವೆ ಮತ್ತು ಜೆಎಸ್ಒಎನ್ ಸ್ವರೂಪದಲ್ಲಿ ಮೆಟಾಡೇಟಾ ಕಡತವನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಮುಖ್ಯ ಎನ್. ಪಿ. ಎಂ. ನೋಂದಾವಣೆಯಲ್ಲಿ 13 ಲಕ್ಷಕ್ಕೂ ಹೆಚ್ಚು ಪ್ಯಾಕೇಜುಗಳು ಲಭ್ಯವಿವೆ. ನೋಂದಾವಣೆಯು ಸಲ್ಲಿಕೆಗಾಗಿ ಯಾವುದೇ ಪರಿಶೀಲನಾ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಹೊಂದಿಲ್ಲ, ಅಂದರೆ ಅಲ್ಲಿ ಕಂಡುಬರುವ ಪ್ಯಾಕೇಜುಗಳು ಕಡಿಮೆ ಗುಣಮಟ್ಟದ, ಅಸುರಕ್ಷಿತ ಅಥವಾ ದುರುದ್ದೇಶಪೂರಿತವಾಗಿರಬಹುದು. ಬದಲಿಗೆ, ಪ್ಯಾಕೇಜುಗಳು ಕಡಿಮೆ ಗುಣಮಟ್ಟದ, ಅಸುರಕ್ಷಿತ ಅಥವಾ ದುರುದ್ದೇಶಪೂರಿತ ನೀತಿಗಳನ್ನು ಉಲ್ಲಂಘಿಸಿದರೆ ಅವುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಬಳಕೆದಾರರ ವರದಿಗಳನ್ನು ಎನ್ಪಿಎಂ ಅವಲಂಬಿಸಿದೆ. ಪ್ಯಾಕೇಜುಗಳ ಗುಣಮಟ್ಟವನ್ನು ನಿರ್ಣಯಿಸುವಲ್ಲಿ ಅಭಿವರ್ಧಕರಿಗೆ ಸಹಾಯ ಮಾಡಲು ಡೌನ್ಲೋಡ್ಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಅವಲಂಬಿತ ಪ್ಯಾಕೇಜುಗಳ ಸಂಖ್ಯೆ ಸೇರಿದಂತೆ ಅಂಕಿಅಂಶಗಳನ್ನು ಎನ್ಪಿಎಂ ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ. ಆಂತರಿಕವಾಗಿ ಎನ್. ಪಿ. ಎಂ. ಸಾರ್ವಜನಿಕವಾಗಿ ಲಭ್ಯವಿರುವ ದತ್ತಾಂಶವನ್ನು ನಿರ್ವಹಿಸಲು ಎನ್. ಓ. ಎಸ್. ಕ್ಯೂ. ಎಲ್. ಕೌಚ್ ಡಿ. ಬಿ. ಯನ್ನು ಅವಲಂಬಿಸಿದೆ. ಮಾರ್ಚ್ 2016 ರಲ್ಲಿ, ಅನೇಕ ಜನಪ್ರಿಯ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ಯಾಕೇಜುಗಳು ಅವಲಂಬಿಸಿರುವ ಲೆಫ್ಟ್-ಪ್ಯಾಡ್ ಎಂಬ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ವಯಂ-ಕಲಿಸಿದ ಸಾಫ್ಟ್ವೇರ್ ಎಂಜಿನಿಯರ್ ಅಜರ್ ಕೊಸುಲು ಮತ್ತು ಕಿಕ್ ನಡುವಿನ ಹೆಸರಿಸುವ ವಿವಾದದ ಪರಿಣಾಮವಾಗಿ ಪ್ರಕಟಿಸದ ನಂತರ ಎನ್ಪಿಎಂ ಪತ್ರಿಕಾ ಗಮನವನ್ನು ಸೆಳೆಯಿತು. ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಮೂರು ಗಂಟೆಗಳ ನಂತರ ಮರುಪ್ರಕಟಿಸಲಾಗಿದ್ದರೂ, ಇದು ವ್ಯಾಪಕವಾದ ಅಡಚಣೆಯನ್ನು ಉಂಟುಮಾಡಿತು, ಭವಿಷ್ಯದಲ್ಲಿ ಇದೇ ರೀತಿಯ ಘಟನೆಯನ್ನು ತಡೆಗಟ್ಟಲು ಎನ್ಪಿಎಂ ತನ್ನ ಪ್ರಕಟಣೆಯ ನೀತಿಗಳನ್ನು ಬದಲಾಯಿಸಲು ಕಾರಣವಾಯಿತು. ಏಪ್ರಿಲ್ 2020 ರಲ್ಲಿ, ಇಸ್-ಪ್ರಾಮಿಸ್ ಎಂಬ ಸಣ್ಣ ಪ್ಯಾಕೇಜ್ ಅನೇಕ ದೊಡ್ಡ ಮತ್ತು ಪ್ರಮುಖ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಅವಲಂಬನೆಯಿಂದಾಗಿ ವಿಶ್ವಾದ್ಯಂತ ಸರ್ವರ್ಲೆಸ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ನಿಯೋಜನೆಗಳಲ್ಲಿ ನಿಲುಗಡೆಗೆ ಕಾರಣವಾಯಿತು. ರಾಜಿ ಮಾಡಿಕೊಂಡ ಮತ್ತು ವಿಚ್ಛಿದ್ರಕಾರಕವಾಗಿ-ಸಂಪಾದಿಸಿದ ಪ್ಯಾಕೇಜುಗಳು ಜುಲೈ 2018 ರಲ್ಲಿ, ಜನಪ್ರಿಯ ಎಸ್ಲಿಂಟ್-ಸ್ಕೋಪ್ ಪ್ಯಾಕೇಜ್ನ ನಿರ್ವಾಹಕರ ಎನ್ಪಿಎಂ ರುಜುವಾತುಗಳನ್ನು ರಾಜಿ ಮಾಡಿಕೊಳ್ಳಲಾಯಿತು, ಇದರ ಪರಿಣಾಮವಾಗಿ ಎಸ್ಲಿಂಟ್-ಸ್ಕೋಪ್, ಆವೃತ್ತಿ 3.7.2 ಅನ್ನು ದುರುದ್ದೇಶಪೂರಿತವಾಗಿ ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಎಸ್ಲಿಂಟ್-ಸ್ಕೋಪ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಯಂತ್ರದ ಎನ್ಪಿಎಂ ರುಜುವಾತುಗಳನ್ನು ನಕಲಿಸಿತು ಮತ್ತು ಅವುಗಳನ್ನು ಆಕ್ರಮಣಕಾರರಿಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಿತು. ನವೆಂಬರ್ 2018 ರಲ್ಲಿ, ಜನಪ್ರಿಯ ಪ್ಯಾಕೇಜ್ ಈವೆಂಟ್-ಸ್ಟ್ರೀಮ್ನ ಆವೃತ್ತಿ 3.3.6 ಗೆ ಅವಲಂಬನೆಯಾಗಿ ದುರುದ್ದೇಶಪೂರಿತ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಎಂದು ಕಂಡುಹಿಡಿಯಲಾಯಿತು. ಫ್ಲಾಟ್ಮ್ಯಾಪ್-ಸ್ಟ್ರೀಮ್ ಎಂದು ಕರೆಯಲಾಗುವ ದುರುದ್ದೇಶಪೂರಿತ ಪ್ಯಾಕೇಜ್, ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳಿಂದ ಬಿಟ್ಕೋಯಿನ್ಗಳನ್ನು ಕದಿಯುವ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಪೇಲೋಡ್ ಅನ್ನು ಹೊಂದಿತ್ತು. ಎನ್ಪಿಎಂ ನಿರ್ವಾಹಕರು ಆಕ್ಷೇಪಾರ್ಹ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿದರು. ಜನವರಿ 2022 ರಲ್ಲಿ, ಜನಪ್ರಿಯ ಪ್ಯಾಕೇಜ್ ಬಣ್ಣಗಳ ನಿರ್ವಾಹಕರು ಕಸದ ಪಠ್ಯವನ್ನು ಅನಂತ ಲೂಪ್ನಲ್ಲಿ ಮುದ್ರಿಸುವ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದರು. ನಿರ್ವಾಹಕರು ಮತ್ತೊಂದು ಜನಪ್ರಿಯ ಪ್ಯಾಕೇಜ್, ಫೇಕರ್ ಮತ್ತು ಅದರ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಎನ್ಪಿಎಂನಲ್ಲಿ ರಿಪಾಸಿಟರಿ ತೆರವುಗೊಳಿಸಿದರು ಮತ್ತು ಅದರ ಬದಲಿಗೆ "ಆರನ್ ಸ್ವಾರ್ಟ್ಜ್ಗೆ ನಿಜವಾಗಿಯೂ ಏನಾಯಿತು?" ಎಂದು ಬರೆದ README ಅನ್ನು ಬದಲಾಯಿಸಿದರು. ಮಾರ್ಚ್ 2022 ರಲ್ಲಿ, ಡೆವಲಪರ್ ಬ್ರ್ಯಾಂಡನ್ ನೋಜಾಕಿ ಮಿಲ್ಲರ್, ಉಕ್ರೇನ್ ಮೇಲೆ ರಷ್ಯಾದ ಆಕ್ರಮಣವನ್ನು ಪ್ರತಿಭಟಿಸಿ, ಬೆಲರೂಸಿಯನ್ ಮತ್ತು ರಷ್ಯಾದ ಐಪಿ ವಿಳಾಸಗಳನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರಿಂದ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸುವ ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಹೊಂದಿರುವ ಪ್ಯಾಕೇಜ್ ನೋಡ್-ಐಪಿಸಿಯ ಆವೃತ್ತಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದರು. Vue.js, ಇದು ನೋಡ್-ಐಪಿಸಿಯನ್ನು ಅವಲಂಬನೆಯಾಗಿ ಬಳಸುತ್ತದೆ, ಅದರ ಅವಲಂಬನೆಯನ್ನು ಸುರಕ್ಷಿತ ಆವೃತ್ತಿಗೆ ಪಿನ್ ಮಾಡಲಿಲ್ಲ, ಅಂದರೆ Vue.js ನ ಕೆಲವು ಬಳಕೆದಾರರು ಇತ್ತೀಚಿನ ಪ್ಯಾಕೇಜ್ ಆಗಿ ಅವಲಂಬನೆಯನ್ನು ಪಡೆದರೆ ದುರುದ್ದೇಶಪೂರಿತ ಪ್ಯಾಕೇಜ್ನಿಂದ ಪ್ರಭಾವಿತರಾಗಿದ್ದಾರೆ. ಬಾಧಿತ ಅವಲಂಬನೆಯು ಯೂನಿಟಿ ಹಬ್ನ ಆವೃತ್ತಿ 3.1ರಲ್ಲಿ ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಕಂಡುಬಂದಿದೆ; ಆದಾಗ್ಯೂ, ಸಮಸ್ಯೆಯನ್ನು ತೆಗೆದುಹಾಕಲು ಅದೇ ದಿನ ಹಾಟ್ಫಿಕ್ಸ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಪರ್ಯಾಯಗಳು ಮಾಡ್ಯುಲರ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಎನ್. ಪಿ. ಎಂ. ಗೆ ಹಲವಾರು ತೆರೆದ ಮೂಲ ಪರ್ಯಾಯಗಳಿವೆ, ಇದರಲ್ಲಿ ಐ. ಇ. ಡಿ., ಪಿ. ಎನ್. ಪಿ. ಎಂ., ಎನ್. ಪಿ. ಎಂ. ಡಿ. ಮತ್ತು ನೂಲು ಸೇರಿವೆ, ಇವುಗಳಲ್ಲಿ ಕೊನೆಯದನ್ನು ಫೇಸ್ಬುಕ್ 2016ರ ಅಕ್ಟೋಬರ್ನಲ್ಲಿ ಬಿಡುಗಡೆ ಮಾಡಿತು. ಅವೆಲ್ಲವೂ ಸಾರ್ವಜನಿಕ ಎನ್ಪಿಎಂ ನೋಂದಣಿಯೊಂದಿಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ ಮತ್ತು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಅದನ್ನು ಬಳಸುತ್ತವೆ, ಆದರೆ ವಿಭಿನ್ನ ಕ್ಲೈಂಟ್-ಸೈಡ್ ಅನುಭವಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ, ಸಾಮಾನ್ಯವಾಗಿ ಎನ್ಪಿಎಂ ಕ್ಲೈಂಟ್ಗೆ ಹೋಲಿಸಿದರೆ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ನಿರ್ಣಾಯಕತೆಯನ್ನು ಸುಧಾರಿಸುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತವೆ. ಸಾಫ್ಟ್ವೇರ್ ರೆಪೊಸಿಟರಿ ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಕಮಾಂಡ್-ಲೈನ್ ಸಾಫ್ಟ್ವೇರ್ ಉಚಿತ ಪ್ಯಾಕೇಜ್ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಗಳು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಟೂಲ್ಗಳಲ್ಲಿ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾದ ಉಚಿತ ಸಾಫ್ಟ್ವೇರ್ ಕಲಾತ್ಮಕ ಪರವಾನಗಿ 2010 ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಮೈಕ್ರೋಸಾಫ್ಟ್ ಉಚಿತ ಸಾಫ್ಟ್ವೇರ್ ಸಾಫ್ಟ್ವೇರ್