mirror of
				https://gitea.com/actions/cache.git
				synced 2025-11-04 07:47:08 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			v3.2.6
			...
			t-dedah/ne
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					5b2559885a | ||
| 
						 | 
					ade59b804f | ||
| 
						 | 
					a89cefe318 | 
							
								
								
									
										21
									
								
								examples.md
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								examples.md
									
									
									
									
									
								
							@@ -309,14 +309,29 @@ We cache the elements of the Cabal store separately, as the entirety of `~/.caba
 | 
				
			|||||||
For npm, cache files are stored in `~/.npm` on Posix, or `~\AppData\npm-cache` on Windows, but it's possible to use `npm config get cache` to find the path on any platform. See [the npm docs](https://docs.npmjs.com/cli/cache#cache) for more details.
 | 
					For npm, cache files are stored in `~/.npm` on Posix, or `~\AppData\npm-cache` on Windows, but it's possible to use `npm config get cache` to find the path on any platform. See [the npm docs](https://docs.npmjs.com/cli/cache#cache) for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If using `npm config` to retrieve the cache directory, ensure you run [actions/setup-node](https://github.com/actions/setup-node) first to ensure your `npm` version is correct.
 | 
					If using `npm config` to retrieve the cache directory, ensure you run [actions/setup-node](https://github.com/actions/setup-node) first to ensure your `npm` version is correct.
 | 
				
			||||||
 | 
					After [deprecation](https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/) of save-state and set-output commands, the correct way to set output is using `${GITHUB_OUTPUT}`. For linux, we can use `${GITHUB_OUTPUT}` whereas for windows we need to use `${env:GITHUB_OUTPUT}` due to two different default shells in these two different OS ie `bash` and `pwsh` respectively.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
>Note: It is not recommended to cache `node_modules`, as it can break across Node versions and won't work with `npm ci`
 | 
					>Note: It is not recommended to cache `node_modules`, as it can break across Node versions and won't work with `npm ci`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### **Get npm cache directory using same shell**
 | 
				
			||||||
 | 
					### Bash shell
 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
- name: Get npm cache directory
 | 
					- name: Get npm cache directory
 | 
				
			||||||
  id: npm-cache-dir
 | 
					  id: npm-cache
 | 
				
			||||||
  run: |
 | 
					  shell: bash
 | 
				
			||||||
    echo "::set-output name=dir::$(npm config get cache)"
 | 
					  run: echo "dir=$(npm config get cache)" >> ${GITHUB_OUTPUT}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### PWSH shell
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					- name: Get npm cache directory
 | 
				
			||||||
 | 
					  id: npm-cache
 | 
				
			||||||
 | 
					  shell: pwsh
 | 
				
			||||||
 | 
					  run: echo "dir=$(npm config get cache)" >> ${env:GITHUB_OUTPUT}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					`Get npm cache directory` step can then be used with `actions/cache` as shown below
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
- uses: actions/cache@v3
 | 
					- uses: actions/cache@v3
 | 
				
			||||||
  id: npm-cache # use this to check for `cache-hit` ==> if: steps.npm-cache.outputs.cache-hit != 'true'
 | 
					  id: npm-cache # use this to check for `cache-hit` ==> if: steps.npm-cache.outputs.cache-hit != 'true'
 | 
				
			||||||
  with:
 | 
					  with:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user