npm install ++
I have this npm project that I'm working on for some time now. I got to a point that I want to give my users a smooth nodejs package installation process. It means that any additional global dependencies that the user will be asked to install in additional will be part of the "npm install" process.I start thinking of how can I accomplish that? I searched the web and bumped into some possibilities such as adding a script section to the package.json file.
Sounds like a great idea, so I gave it a try.
How can I add a script to a package.json file?
For adding a script to the package.json file, all you have to do is add a script section. Read about it in here... "scripts": { "install": "npm install -g bower" } ...
I executed the above script as part of my package.json file, on my Ubuntu environment, but I got an error: permission denied. Oh well I need to add 'sudo' to the command, but how can I get the password prompt?! Another question was, how can I add cross platform script? I cannot change the command dynamically.
Use nodejs script for get the job done
I thought about how can I solve this one. I had some ideas but the one i used was to execute nested nodejs module for getting cross platform installation.... "scripts": { "install": "node installer.js" } ...
Spawning with sudo
I created an installer.js script and my first task was to spawn a process with a sudo command. For that I used the sudo package that is pretty much using the spawn but with sudo prompt and it's working just great.Wrap up
All I have left to do is detecting on which OS I'm running and with that spawn with sudo or w/o and i get to run 'npm install' that gets the dependencies as part of its process.NPM Module: package-script
I created a module just for that, you can use it...npm install package-script