Node.js npm运行找不到模块';sass';在反复尝试重新安装之后
任何对Node.js npm运行找不到模块';sass';在反复尝试重新安装之后,node.js,npm,laravel-mix,node-sass,Node.js,Npm,Laravel Mix,Node Sass,任何对npm run的调用都会产生以下错误: $ npm run dev > @ dev /project > npm run development > @ development /project > cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup
npm run
的调用都会产生以下错误:
$ npm run dev
> @ dev /project
> npm run development
> @ development /project
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
/project/node_modules/webpack-cli/bin/cli.js:235
throw err;
^
Error: Cannot find module 'sass'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)
at Function.Module._load (internal/modules/cjs/loader.js:529:25)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (/project/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
at implementation (/project/node_modules/laravel-mix/src/components/Sass.js:52:39)
at implementation (/project/node_modules/laravel-mix/src/components/Preprocessor.js:125:61)
at global.tap (/project/node_modules/laravel-mix/src/helpers.js:10:5)
at Sass.loaderOptions (/project/node_modules/laravel-mix/src/components/Preprocessor.js:123:9)
at extractPlugin (/project/node_modules/laravel-mix/src/components/Preprocessor.js:87:39)
at global.tap (/project/node_modules/laravel-mix/src/helpers.js:10:5)
at details.forEach.preprocessor (/project/node_modules/laravel-mix/src/components/Preprocessor.js:27:13)
at Array.forEach (<anonymous>)
at Sass.webpackRules (/project/node_modules/laravel-mix/src/components/Preprocessor.js:22:22)
at ComponentFactory.applyRules (/project/node_modules/laravel-mix/src/components/ComponentFactory.js:155:23)
at Mix.listen.rules (/project/node_modules/laravel-mix/src/components/ComponentFactory.js:66:48)
at events.(anonymous function).forEach.handler (/project/node_modules/laravel-mix/src/Dispatcher.js:34:47)
at Array.forEach (<anonymous>)
at Dispatcher.fire (/project/node_modules/laravel-mix/src/Dispatcher.js:34:28)
at Mix.dispatch (/project/node_modules/laravel-mix/src/Mix.js:119:25)
at WebpackConfig.buildRules (/project/node_modules/laravel-mix/src/builder/WebpackConfig.js:83:13)
at WebpackConfig.build (/project/node_modules/laravel-mix/src/builder/WebpackConfig.js:23:14)
at Object.<anonymous> (/project/node_modules/laravel-mix/setup/webpack.config.js:29:38)
at Module._compile (/project/node_modules/v8-compile-cache/v8-compile-cache.js:178:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (/project/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
at WEBPACK_OPTIONS (/project/node_modules/webpack-cli/bin/convert-argv.js:113:13)
at requireConfig (/project/node_modules/webpack-cli/bin/convert-argv.js:115:6)
at /project/node_modules/webpack-cli/bin/convert-argv.js:122:17
at Array.forEach (<anonymous>)
at module.exports (/project/node_modules/webpack-cli/bin/convert-argv.js:120:15)
at yargs.parse (/project/node_modules/webpack-cli/bin/cli.js:232:39)
at Object.parse (/project/node_modules/yargs/yargs.js:567:18)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ development script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
我的webpack.mix.js
:
const mix = require('laravel-mix');
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.version()
.sourceMaps();
我已尝试再次删除node\u模块
和npm安装
,但无法解决此问题
rm -rf node_modules
rm package-lock.json yarn.lock
npm cache clear --force
npm install
使用纱线安装
而不是npm执行相同的过程并不能解决此问题
尝试使用此选项安装,但没有成功:npm安装节点sass--没有bin链接
- npm v6.4.1
- 节点v11.5.0
- 纱线v1.12.3
"laravel-mix": "^3",
"webpack": "^3.11.0",
"webpack-cli": "^3.1.2"
从4.0.0
laravel mix
到使用sass
而不是节点sass
解决此问题的两种方法:
sass
npm软件包:
npm -g i sass
mix
配置为使用节点sass
(webpack.mix.js
):
mix.sass('resources/assets/sass/app.scss','public/css','{
实现:需要('node-sass')
});
ReactJS使用
节点sass
,运行以下命令
npm install node-sass --save
这个解决方案对我不起作用,在上面的步骤之后,它会抛出另一个错误“您的系统还不支持节点sass…”编辑:我必须将节点sass作为本地依赖项安装以使上述工作正常。@mufaddal_mw是的,假设已安装
节点sass
,如问题中所述。在webpack.mix.js中,我将代码从mix.js('resources/assets/js/app.js','public/js').sourceMaps().sass)更改为mix.js('resources/assets/sass/app.scss','public/css');to mix.js('resources/assets/js/app.js','public/js').sourceMaps();mix.sass('resources/assets/sass/app.scss','public/css',{implementation:require('node-sass'));当用户运行npm安装时,为什么不安装它?这不是npm的全部意义吗?安装依赖项?为我节省了大量时间。
npm install node-sass --save