Cómo instalar Freebuff en MX Linux, Debian y derivados


Freebuff es un agente de inteligencia artificial para programación que funciona directamente desde la terminal. Permite abrir un proyecto de software, conversar con el agente y pedirle que analice o modifique el código.

Freebuff se distribuye mediante npm, por lo que antes de instalarlo necesitamos tener instalados Node.js y npm.

En este tutorial veremos cómo instalar una versión reciente de Node.js utilizando el repositorio oficial de NodeSource y, posteriormente, cómo configurar npm para poder instalar Freebuff sin utilizar sudo.

Este procedimiento puede utilizarse en MX Linux, Debian y otras distribuciones basadas en Debian.


1. Instalar curl

Primero actualizamos la información de los repositorios:

sudo apt update

Instalamos curl:

sudo apt-get install -y curl

curl será utilizado para descargar el script de configuración del repositorio de NodeSource.


2. Agregar el repositorio de NodeSource

Los repositorios normales de Debian pueden incluir una versión de Node.js diferente de la que necesitamos para algunas herramientas modernas.

NodeSource mantiene repositorios específicos que permiten instalar versiones recientes de Node.js.

Para agregar el repositorio de Node.js 24, ejecutamos:

curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -

Este comando configura el repositorio correspondiente a la rama 24.x de Node.js.

Nota: NodeSource también ofrece N|Solid, su distribución especializada de Node.js. Para utilizar herramientas normales de npm como Freebuff no necesitamos N|Solid; instalaremos Node.js directamente.


3. Instalar Node.js

Ahora instalamos Node.js:

sudo apt-get install -y nodejs

El paquete de Node.js proporcionado por NodeSource también incluye npm.

Podemos comprobar la versión instalada con:

node --version

Y la versión de npm:

npm --version

Por ejemplo, podríamos obtener algo semejante a:

v24.x.x

y:

11.x.x

Las versiones exactas pueden cambiar con el tiempo.

También podemos comprobar de dónde provienen los ejecutables:

which node
which npm

Normalmente veremos:

/usr/bin/node
/usr/bin/npm

4. Evitar el error EACCES al instalar paquetes globales con npm

En Debian y MX Linux es posible encontrarnos con un problema al intentar instalar Freebuff de esta manera:

npm install -g freebuff

npm podría mostrar un error parecido a:

npm error code EACCES
npm error syscall mkdir
npm error path /usr/lib/node_modules/freebuff
npm error errno -13
npm error Error: EACCES: permission denied

Esto ocurre porque npm intenta instalar el programa dentro de:

/usr/lib/node_modules/

Ese directorio pertenece al sistema y un usuario normal no tiene permisos para escribir en él.

Aunque podríamos utilizar:

sudo npm install -g freebuff

es preferible evitar instalar paquetes globales de npm como administrador.

Una solución mucho más limpia consiste en configurar un directorio dentro de nuestro propio HOME para los paquetes globales de npm.


5. Crear un directorio para los paquetes globales de npm

Creamos el directorio:

mkdir -p ~/.local/npm

Ahora le indicamos a npm que utilice ese directorio como prefijo para las instalaciones globales:

npm config set prefix ~/.local/npm

Podemos comprobarlo con:

npm config get prefix

La salida debería ser semejante a:

/home/usuario/.local/npm

Por ejemplo:

/home/wachin/.local/npm

6. Agregar los programas npm al PATH

Los ejecutables instalados mediante npm quedarán dentro de:

~/.local/npm/bin

Por ello debemos agregar este directorio a la variable PATH.

Si utilizamos Bash, ejecutamos:

echo 'export PATH="$HOME/.local/npm/bin:$PATH"' >> ~/.bashrc

Después recargamos la configuración:

source ~/.bashrc

También podemos cerrar la terminal y abrir una nueva.

Para comprobar que el directorio fue agregado correctamente:

echo $PATH

Entre los directorios mostrados debería aparecer:

/home/usuario/.local/npm/bin

7. Instalar Freebuff

Ahora sí podemos instalar Freebuff sin utilizar sudo:

npm install -g freebuff

La documentación del paquete Freebuff indica precisamente esta forma de instalación global mediante npm.

Una vez terminada la instalación, comprobamos que el programa esté disponible:

freebuff --version

También podemos conocer su ubicación con:

which freebuff

Deberíamos obtener algo semejante a:

/home/usuario/.local/npm/bin/freebuff

8. Ejecutar Freebuff dentro de un proyecto

Ahora podemos entrar al directorio de un proyecto.

Por ejemplo:

cd ~/Dev/mi-proyecto

Y ejecutar:

freebuff

Freebuff se abrirá dentro de ese proyecto y podrá analizar los archivos que contiene.

El uso básico indicado por el propio proyecto consiste precisamente en entrar al directorio del proyecto y ejecutar:

freebuff

9. Ejemplo de una instalación funcionando

Podemos revisar toda nuestra configuración con:

node --version
npm --version
npm config get prefix
which node
which npm
which freebuff
freebuff --version

Una configuración correcta podría verse de esta manera:

Node.js:
v22.23.2

npm:
10.9.8

Prefijo global de npm:
/home/wachin/.local/npm

Node:
/usr/bin/node

npm:
/usr/bin/npm

Freebuff:
/home/wachin/.local/npm/bin/freebuff

No es necesario que las versiones coincidan exactamente con estas, ya que Node.js, npm y Freebuff se actualizan regularmente.


10. ¿Por qué no usar sudo npm install -g freebuff?

Utilizar:

sudo npm install -g freebuff

puede funcionar, pero los paquetes instalados pasan a estar administrados como archivos del usuario root.

Si posteriormente instalamos, actualizamos o eliminamos otros paquetes npm como usuario normal, podemos terminar con problemas de permisos.

Al utilizar:

~/.local/npm

conseguimos una separación más limpia:

Node.js instalado por APT
        │
        ├── /usr/bin/node
        │
        └── /usr/bin/npm
                 │
                 ▼
      paquetes globales del usuario
                 │
                 ▼
        ~/.local/npm/
                 │
                 ├── bin/
                 │    └── freebuff
                 │
                 └── lib/

De esta manera:

  • Node.js y npm son administrados por APT.
  • NodeSource proporciona las versiones de Node.js.
  • Los programas que instalamos mediante npm pertenecen a nuestro usuario.
  • No necesitamos utilizar sudo para instalar herramientas npm.
  • Evitamos errores de permisos en /usr/lib/node_modules.

11. Actualizar Node.js

Como Node.js fue instalado utilizando un repositorio de NodeSource, sus actualizaciones dentro de la rama configurada llegarán mediante APT.

Podemos actualizar normalmente nuestro sistema:

sudo apt update
sudo apt upgrade

Para comprobar específicamente si existe una actualización de Node.js:

apt list --upgradable 2>/dev/null | grep nodejs

También podemos consultar qué versión tenemos instalada y qué repositorio la proporciona:

apt policy nodejs

Si estamos utilizando NodeSource veremos una dirección semejante a:

https://deb.nodesource.com/node_24.x

12. Actualizar Freebuff

Como Freebuff fue instalado mediante npm, podemos actualizarlo posteriormente con:

npm install -g freebuff@latest

Y comprobar nuevamente la versión:

freebuff --version

13. Desinstalar Freebuff

Si en algún momento queremos eliminarlo:

npm uninstall -g freebuff

Resumen de comandos

Para una instalación nueva podemos utilizar:

sudo apt update
sudo apt-get install -y curl
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt-get install -y nodejs

Comprobamos:

node --version
npm --version

Configuramos npm para nuestro usuario:

mkdir -p ~/.local/npm
npm config set prefix ~/.local/npm
echo 'export PATH="$HOME/.local/npm/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Comprobamos:

npm config get prefix

Instalamos Freebuff:

npm install -g freebuff

Y finalmente:

freebuff --version

Para utilizarlo dentro de un proyecto:

cd ~/Dev/mi-proyecto
freebuff

Con esto tendremos Freebuff funcionando en MX Linux, Debian o una distribución derivada, con Node.js instalado mediante NodeSource y sin necesidad de utilizar permisos de administrador para instalar paquetes globales de npm.

Comentarios