71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			71 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # run-node [](https://travis-ci.org/sindresorhus/run-node)
 | ||
|  | 
 | ||
|  | > Run the Node.js binary no matter what
 | ||
|  | 
 | ||
|  | You can't always assume running `$ node file.js` will just work. The user might have the `node` binary in a non-standard location. They might be using a Node.js version manager like `nvm`, which is sourced in a subshell and not available from the outside. It also depends from where you're trying to run it. For example, GUI apps on macOS doesn't inherit the [`$PATH`](https://en.wikipedia.org/wiki/PATH_(variable)), so the `node` binary would not be found. Most projects that depend on Node.js just end up telling the user to manually set the full path to the `node` binary in some project specific settings. Now every project has to do this. [Ugh...](https://gist.github.com/cookrn/4015437) I prefer things to *just* work. With this module it will. | ||
|  | 
 | ||
|  | This Bash script uses some tricks to find the Node.js binary on your system and run it. | ||
|  | 
 | ||
|  | Can be used from any environment that can spawn a process (Shell, Python, Ruby, Swift, Objective-C, etc). | ||
|  | 
 | ||
|  | 
 | ||
|  | ### npm
 | ||
|  | 
 | ||
|  | #### Install
 | ||
|  | 
 | ||
|  | ``` | ||
|  | $ npm install run-node | ||
|  | ``` | ||
|  | 
 | ||
|  | #### Usage
 | ||
|  | 
 | ||
|  | ``` | ||
|  | $ ./node_modules/.bin/run-node file.js | ||
|  | ``` | ||
|  | 
 | ||
|  | Or in an [npm run script](https://docs.npmjs.com/cli/run-script): | ||
|  | 
 | ||
|  | ```json | ||
|  | { | ||
|  | 	"start": "run-node file.js" | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Manually
 | ||
|  | 
 | ||
|  | #### Install
 | ||
|  | 
 | ||
|  | Download the [run-node](run-node) file: | ||
|  | 
 | ||
|  | ``` | ||
|  | $ curl -sSLO https://github.com/sindresorhus/run-node/raw/master/run-node && chmod +x run-node | ||
|  | ``` | ||
|  | 
 | ||
|  | #### Usage
 | ||
|  | 
 | ||
|  | ``` | ||
|  | ./run-node file.js | ||
|  | ``` | ||
|  | 
 | ||
|  | #### Customizable cache path and error message
 | ||
|  | 
 | ||
|  | The cache path and error message are defined by the `RUN_NODE_CACHE_PATH` and `RUN_NODE_ERROR_MSG` environment variables. You could use them in a script or add them to your `~.bashrc`. | ||
|  | 
 | ||
|  | Default config: | ||
|  | 
 | ||
|  | ```sh | ||
|  | export RUN_NODE_ERROR_MSG="Couldn't find the Node.js binary. Ensure you have Node.js installed. Open an issue on https://github.com/sindresorhus/run-node" | ||
|  | export RUN_NODE_CACHE_PATH="/home/username/.node_path" | ||
|  | ``` | ||
|  | 
 | ||
|  | 
 | ||
|  | ## Created by
 | ||
|  | 
 | ||
|  | - [Sindre Sorhus](https://github.com/sindresorhus) | ||
|  | - [Mathias Fredriksson](https://github.com/mafredri) | ||
|  | 
 | ||
|  | 
 | ||
|  | ## License
 | ||
|  | 
 | ||
|  | MIT © [Sindre Sorhus](https://sindresorhus.com) |