Utilicé Django para usar Less en mi computadora con Windows sin ningún problema, pero cuando cambié a MacOS, el sistema informó un error.
ingrese la descripción de la imagen aquí
StaticCompilationError at /friendLink
node:fs:1336
handleErrorFromBinding(ctx);
^
Error: ENOENT: no such file or directory, mkdir '/static/styles/less/global'
at Object.mkdirSync (node:fs:1336:3)
at module.exports.sync (/Users/taro/.nvm/versions/node/v16.14.0/lib/node_modules/less/node_modules/make-dir/index.js:97:6)
at ensureDirectory (/Users/taro/.nvm/versions/node/v16.14.0/lib/node_modules/less/bin/lessc:172:7)
at writeOutput (/Users/taro/.nvm/versions/node/v16.14.0/lib/node_modules/less/bin/lessc:230:7)
at /Users/taro/.nvm/versions/node/v16.14.0/lib/node_modules/less/bin/lessc:311:9 {
errno: -2,
syscall: 'mkdir',
code: 'ENOENT',
path: '/static/styles/less/global'
}
Paso:
pip install django-static-precompiler
npm install less -g
Configuración de Django.py:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_PRECOMPILER_OUTPUT_DIR = ''
Plantillas de Django:
{% load compile_static %}
{% load static %}
...
<link rel="stylesheet" href="{% static "styles/less/global/components.less"|compile %}"/>
Estoy seguro de que el proyecto Django tiene esta carpeta/static/styles/less/global
ingrese la descripción de la imagen aquí
Pensé que era un problema de permiso.
$ where lessc
/Users/taro/.nvm/versions/node/v16.14.0/bin/lessc
sudo chmod +x /Users/taro/.nvm/versions/node/v16.14.0/bin/lessc
Pero es inútil
También probé la configuración de File Watcher de PyCharm, pero no debería ser un problema. Cuando escribo un archivo menos y lo guardo, CSS seguirá apareciendo
¿Es un problema con NVM, la configuración del precompilador estático de Django o Macos? No estoy seguro