Search code examples
githubnpmworkflow

Not able to use npm cli in a github workflows


I want to use a npm cli utility (this one), inside a bash script and to run it via a github workflow.

This is my basic script:

folder="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

mkdir -p "$folder"/rawdata
mkdir -p "$folder"/processing

npm list -g --depth=0

rm "$folder"/rawdata/"$reg".png
capture-website --delay 5 --full-page --width 1280 --height  720 --output  "$folder"/rawdata/"$reg".png "https://ondata.github.io/vaccinipertutti/?area=SIC"

I run it using this github workflow (it's Ubuntu 20.04.2 LTS), in which I set capture-website-cli installation in this way:

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
NPM_CONFIG_PREFIX=~/.npm-global
npm install -g capture-website

But when the script runs I have this error:

./test.sh: line 13: capture-website: command not found

It seems that it has been not installed in ~/.npm-global. If I run find /home/runner -executable -name capture-website I have

/home/runner/.npm-global/lib/node_modules/capture-website

Do you have some advice to solve my problem?


Solution

  • You might need to differentiate between:

    You need to install the latter in your runner $PATH.

    npm install --global capture-website-cli