36
votes

Impossible de trouver le «sass» du module

J'écris une application React et j'ai essayé de le raccrocher. Après cela, il ne compile pas de manière corect, il ne trouve pas le module "sass" et c'est mon erreur:

RUN npm install -g sass

Et c'est mon dockerfile:

From node:14.16.1-alpine

WORKDIR /app

ENV PATH /app/node_modules/.bin:$PATH

COPY package.json ./
COPY package-lock.json ./
RUN npm install --silent
RUN npm install react-scripts@4.0.3 -g --silent

COPY . ./

CMD ["npm", "start"]

et je n'ai pas docker-compose.

aucune solution?

J'ajoute cette ligne à mon fichier docker mais cela ne fonctionne pas et me fait la même erreur:

Failed to compile.

./src/index.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6- 
1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5- 
oneOf-6-3!./node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-6-4!./src/index.scss)
Cannot find module 'sass'
Require stack:
- /app/node_modules/sass-loader/dist/utils.js
- /app/node_modules/sass-loader/dist/index.js
- /app/node_modules/sass-loader/dist/cjs.js
- /app/node_modules/loader-runner/lib/loadLoader.js
- /app/node_modules/loader-runner/lib/LoaderRunner.js
- /app/node_modules/webpack/lib/NormalModule.js
- /app/node_modules/webpack/lib/NormalModuleFactory.js
- /app/node_modules/webpack/lib/Compiler.js
- /app/node_modules/webpack/lib/webpack.js
- /app/node_modules/react-scripts/scripts/start.js


4 commentaires

Je ne pense pas que ce soit un problème avec le docker, c'est plus un problème de webpack ou simplement des packages


Mais cela fonctionne correctement avant de secouer!


Vous devez avoir sass installé globalement ainsi. Essayez de l'installer dans votre docker npm i -g sass


Je l'installe à l'échelle mondiale mais ne fonctionne pas!


5 Réponses :


1
votes

Je le résolve! Il vous suffit d'ajouter cette ligne à votre "dockerfile", donc lorsque vous créez votre image docker, il devrait installer Sass automatiquement:

"scss": "sass --whatch scss -o css"

et dans votre "package.json" Ajoutez ceci dans le " Dépendances "Il indique à programmer ce que nous avons dans ce cas, nous voulons dire que nous avons la version spécifique de" Sass ":

"sass": "version number(example:^5.0.0)"

et ajoutez ceci dans la partie" scripts "qui indique Pour programmer comment travailler dans ce cas, je pense qu'il indique que pour "SCSS" fichiers ce que ce fichier est et le reconnaître et l'ouvrir comme un "CSS":

RUN npm install -g sass


0 commentaires

2
votes

Essayez d'installer dans votre terminal ce

npm start

et redémarrez votre Host local en tapant

npm install --save-dev node-sass

Appuyez sur Entrez sur votre invite

Après avoir fait ces étapes, assurez-vous de vérifier votre dépendance dans

package.json

et recherche

"DevDependances": { "nœud-sass": "^ votreversion"}


0 commentaires

64
votes

à noter! Node-Sass est obsolète comme maintenant!

AVERTISSEMENT: LIBSASS et le nœud Sass sont obsolètes. Bien qu'ils continueront à recevoir indéfiniment les versions de maintenance, il n'est pas prévu d'ajouter des fonctionnalités ou une compatibilité supplémentaires avec de nouvelles fonctionnalités CSS ou SASS. Les projets qui l'utilisent encore devraient passer à dart sass .

 Entrez la description de l'image ici

Au lieu de cela, vous pouvez voir que Sass est suivi sur le projet sass !

react-scripts a déjà déplacé cette direction!

 Entrez la description de l'image ici

Le package utilisé maintenant est sass ! npm i -g sass ou npm i sass --save-dev

si vous accédez à npm sass page

 Entrez la description de l'image ici p>

Ce package est une distribution de dart sass , compilé en javascript pur sans code natif ni dépendances externes. Il fournit un exécutable SASS de ligne de commande et une API Node.js

Vous pouvez installer SASS globalement à l'aide de npm install -g sass qui fournira un accès à l'exécutable SASS . Vous pouvez également l'ajouter à votre projet à l'aide de NPM INSTALLATION - Save-Dev Sass . Cela fournit l'exécutable ainsi qu'une bibliothèque .

Ce qui doit être fait

installer sass

globalement

npm i react-scripts --save

ou

localement

npm i sass --save-dev

Je préfère personnellement aller toujours avec des installations locales! De sorte que npm install l'ajoutera automatiquement! Parfois aussi pour maintenir les versions par projet!

et

Entrez la description de l'image ici

 Entrer la description de l'image ici

Compilant et en cours d'exécution des applications après l'installation!

ancienne version de React Scripts

Si vous utilisez une ancienne version qui nécessite Node-Sass!

Ensuite, vous pouvez mettre à jour la dernière version! Et avant ça! Vous aimerez peut-être supprimer node_modules et package-lock.json .

npm i -g sass

Après cela NPM Install Pour installer à nouveau les dépendances du projet

et vous pouvez aller pour installer sass étape


0 commentaires

8
votes
npm cache clear --force
npm install sass

1 commentaires

Bien que cet extrait de code puisse être la solution, Inclure une explication aide vraiment à améliorer la qualité de votre message. N'oubliez pas que vous répondez à la question des lecteurs à l'avenir, et ces gens pourraient ne pas connaître les raisons de votre suggestion de code.



1
votes

Pour être clair:

1er) Essayez de le désinstaller en utilisant cette commande

npm désinstaller le nœud-sass

puis 2ème) Essayez d'installer Sass

Installation de NPM - Save-Dev Sass

Cela a fonctionné pour moi lorsque j'avais des problèmes d'installation de SASS sur un projet en utilisant Create React App


0 commentaires