Language-tools: "No se puede encontrar ninguno de los módulos: sass, node-sass" aunque `sass` está instalado

Creado en 19 oct. 2020  ·  4Comentarios  ·  Fuente: sveltejs/language-tools

Describe el error
En cada archivo .svelte, la extensión me arroja este error (copiado de la pestaña Salida):

Using Svelte v3.29.0 from /Users/nick/PROJECT_ROOT_REDACTED/node_modules/svelte/compiler
Preprocessing failed
Error: Cannot find any of modules: sass,node-sass

Error: Cannot find module 'node-sass'
Require stack:
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-preprocess/dist/modules/utils.js
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-preprocess/dist/autoProcess.js
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-preprocess/dist/index.js
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-language-server/dist/src/importPackage.js
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-language-server/dist/src/lib/documents/configLoader.js
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-language-server/dist/src/lib/documents/Document.js
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-language-server/dist/src/lib/documents/index.js
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-language-server/dist/src/server.js
- /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-language-server/bin/server.js
    at Object.importAny (/Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-preprocess/dist/modules/utils.js:30:15)
    at async transformer (/Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-preprocess/dist/transformers/scss.js:18:21)
    at async /Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-preprocess/dist/autoProcess.js:96:29
    at async Object.style (/Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-preprocess/dist/autoProcess.js:142:33)
    at async wrappedPreprocessor.style (/Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-language-server/dist/src/plugins/svelte/SvelteDocument.js:208:33)
    at async /Users/nick/PROJECT_ROOT_REDACTED/node_modules/svelte/compiler.js:27431:32
    at async Promise.all (index 0)
    at async replace_async (/Users/nick/PROJECT_ROOT_REDACTED/node_modules/svelte/compiler.js:27386:52)
    at async Object.preprocess (/Users/nick/PROJECT_ROOT_REDACTED/node_modules/svelte/compiler.js:27427:19)
    at async transpile (/Users/nick/.vscode/extensions/svelte.svelte-vscode-102.2.0/node_modules/svelte-language-server/dist/src/plugins/svelte/SvelteDocument.js:223:25) {
  __source: 'Style'
}

Tengo svelte-preprocess instalado y su configuración está en svelte.config.js que se ve así:

// svelte.config.js
const sveltePreprocess = require('svelte-preprocess');

module.exports = {
  preprocess: sveltePreprocess({
    postcss: {
      plugins: [
        require('autoprefixer')
      ]
    },
    sass: {
      sync: true,
      implementation: require('sass'),
    },
  }),
};

Intenté eliminar implementation y no funcionó. Tampoco funciona cuando se configura sass: true . No intenté usar node-sass ya que necesito la implementación de Dart específicamente.

El error aparece incluso en lugares sin código scss (ver captura de pantalla)

Reproducir
Pasos para reproducir el comportamiento:

  1. Instale svelte-preprocess y sass
  2. Configure svelte.config.js estableciendo sass.implementation en `require ('sass')
  3. Abra cualquier archivo .svelte

Comportamiento esperado

  1. La extensión no arroja errores

Capturas de pantalla
grafik

Sistema (complete la siguiente información):

  • SO: macOS Catalina 10.15.7
  • IDE: VSCode 1.50.1
  • Complemento / Paquete: "Svelte para VSCode"

Contexto adicional
Estoy desarrollando una aplicación Sapper, no solo Svelte.

question

Comentario más útil

Muy bien, me siento muy tonto 😅

Aunque lo verifiqué antes, me perdí la extensión anterior de James Birtles que todavía estaba instalada. Al eliminar la extensión anterior y volver a cargar VSCode, el mensaje desapareció

Todos 4 comentarios

Muy bien, me siento muy tonto 😅

Aunque lo verifiqué antes, me perdí la extensión anterior de James Birtles que todavía estaba instalada. Al eliminar la extensión anterior y volver a cargar VSCode, el mensaje desapareció

La extensión mencionada anteriormente es Svelte para VS Code .

Muy bien, me siento muy tonto 😅

Aunque lo verifiqué antes, me perdí la extensión anterior de James Birtles que todavía estaba instalada. Al eliminar la extensión anterior y volver a cargar VSCode, el mensaje desapareció

¿Y qué extensión usar en lugar de eso?

¿Fue útil esta página
0 / 5 - 0 calificaciones