es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Github Actions y npm – npm: comando no encontrado

He creado una acción para un despliegue en acciones de GitHub. Todo esto funciona con la instalación de Composer y la extracción de la rama principal de Git. Sin embargo, en mi droplet de Digital Ocean, tengo el siguiente problema:

bash: línea 4: npm: comando no encontrado

Si inicio sesión en mi servidor a través de SSH, puedo usar npm perfectamente bien. Esto se instaló a través de nvm y utiliza la última versión, pero por alguna razón no es accesible a través de la acción.

Mi script de despliegue es el siguiente:

“`name: Construir y desplegar
on:
push:
branches: [master]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
– name: Desplegar Laravel APP
uses: appleboy/ssh-action@v0.1.4
with:
host: ${{secrets.SSH<em>HOST}}
key: ${{secrets.SSH</em>KEY}}
username: ${{ secrets.SSH_USER }}

<pre><code> script: |
cd /var/www/admin
git pull origin master
composer install
npm install
npm run prod
</code></pre>

“`

Presumo que esto tiene más que ver con la configuración de nvm, ya que puedo usarlo a través de SSH, pero como utilizan el mismo usuario para iniciar sesión a través de SSH, no puedo ver ningún problema.

¿Alguna idea de cómo puedo resolver este problema para permitir que las acciones de GitHub utilicen npm?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para resolver el problema de acceso a npm en Github Actions, puedes probar los siguientes pasos:

    1. Agrega las siguientes líneas a tu script de implementación antes de la instalación de npm:
    - name: Instalar NVM
      run: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
    - name: Utilizar la versión de Node.js con NVM
      run: nvm install node
    - name: Establecer la versión de Node.js con NVM
      run: nvm use node
    
    1. Asegúrate de que el usuario que ejecuta el script de implementación en Github Actions tiene permisos para acceder a la ruta de instalación de NVM. Puedes intentar agregar la siguiente línea a tu script de implementación para establecer el directorio de instalación de NVM en una ubicación accesible por el usuario de Github Actions:
    - name: Establecer NVM_DIR 
      run: export NVM_DIR="$HOME/.nvm" 
    
    1. Si los pasos anteriores no funcionan, puedes intentar establecer la variable de entorno PATH en el script de implementación para incluir la ubicación del ejecutable npm. Esto se puede hacer con la siguiente línea:
    - name: Agregar npm a PATH
      run: export PATH="$HOME/.nvm/versions/node/$(nvm current)/bin:$PATH"
    

    Con estos cambios, tu script de implementación debería poder acceder a npm instalado con NVM.

Comments are closed.