节点 Sass 错误:找不到模块“mkdirp”

Posted

技术标签:

【中文标题】节点 Sass 错误:找不到模块“mkdirp”【英文标题】:Node Sass Error: Cannot find module 'mkdirp' 【发布时间】:2021-07-03 18:26:57 【问题描述】:

我有以下 package.json

"devDependencies": 
    "bootstrap-sass": "*",
    "buble": "^0.12.5",
    "css-loader": "^0.25.0",
    "gulp": "*",
    "jquery": "^3.1.0",
    "json-loader": "^0.5.4",
    "laravel-elixir": "^6.0.0-14",
    "laravel-elixir-browsersync-official": "^1.0.0",
    "laravel-elixir-vue-2": "^0.2.0",
    "laravel-elixir-webpack-official": "^1.0.2",
    "lodash": "^4.16.2",
    "sass": "*",
    "sass-loader": "*",
    "vue": "^2.1.10",
    "vue-loader": "^9.7.0",
    "vue-resource": "^1.0.3",
    "vue-router": "^2.0.0",
    "vue-stash": "^2.0.1-beta",
    "vue-template-compiler": "^2.1.10"
  ,
  "dependencies": 
    "bootstrap-datepicker": "^1.6.4",
    "jquery-simple-upload": "^1.0.0",
    "json-loader": "^0.5.4",
    "moment": "*",
    "natives": "^1.1.6",
    "vuejs-datepicker": "^0.9.24"
  

关于使用 Yarn 安装我遇到的模块

警告“laravel-elixir-vue-2 > sass-loader@4.1.1”有未满足的同行 依赖“webpack@^2 || ^2.2.0-rc.0 || ^2.1.0-beta || ^1.12.6”。 [4/4] 构建新包...错误 /home/vagrant/Code/xxx/node_modules/node-sass: 命令失败。退出代码:1 命令:node scripts/install.js 参数: 目录: /home/vagrant/Code/xxx/node_modules/node-sass 输出:internal/modules/cjs/loader.js:818 throw err; ^

错误:找不到模块“mkdirp”需要堆栈:

/home/vagrant/modules/xxx/node-sass/scripts/install.js 在 Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) 在 Function.Module._load (internal/modules/cjs/loader.js:667:27) 在 Module.require (internal/modules/cjs/loader.js:887:19) 在需要(内部/模块/cjs/helpers.js:74:18) 在对象。 (/home/vagrant/modules/xxx/node-sass/scripts/install.js:7:11) 在 Module._compile (internal/modules/cjs/loader.js:999:30) 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) 在 Module.load (internal/modules/cjs/loader.js:863:32) 在 Function.Module._load (internal/modules/cjs/loader.js:708:14) 在 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) code: 'MODULE_NOT_FOUND', 要求堆栈:[ '/home/vagrant/modules/xxx/node-sass/scripts/install.js' ]​​i>

我不确定为什么/谁在安装 node-sass,但无论我是 yarn clean cache rm -rf package.lock.json 还是 rm -rf node_modules,它都会让我想到这一点

我正在使用

纱线 1.22.10 节点 12.20.0 npm 6.14.9

关于 Linux 家园 4.15.0-124-generic #127-Ubuntu

【问题讨论】:

【参考方案1】:

不确定“mkdirp”的安装位置。

但你可以先安装 mkdirp@lastest,

然后让 yarn/npm 重新安装所有包

看看“mkdirp”是否真的有问题。

yarn add mkdirp@lastest // or npm i mkdirp@lastest

然后

yarn install // or npm i

【讨论】:

信不信由你....我在全球范围内和其他方面都尝试过,然后我会得到Cannot find module true-case-path,然后是Cannot find module glob,然后是Cannot find module fs.realpath等等。似乎有点乏味。 不要放弃队友!它似乎只是在依赖中搞砸了。让它单独安装模块。我想我们别无选择,只能一一解开【参考方案2】:

看起来节点 LTS 是 14.something。

也许尝试更新它(以及其他所有内容)?

【讨论】:

以上是关于节点 Sass 错误:找不到模块“mkdirp”的主要内容,如果未能解决你的问题,请参考以下文章

我想使用 npm 安装 sass,但它会抛出错误:找不到模块“semver”

使用 Webpack、SASS 和 React 在“main.scss”上出现错误“找不到模块”

sass 和 Vue 3 出错 - 找不到模块“sass”

删除了节点模块,现在出现“错误:找不到模块 'webpack/lib/RuleSet'”错误

节点 0.12.2 上的节点 sass 2.1.1:找不到“libsass”绑定。尝试重新安装 `node-sass`

在 nodejs 中使用 node-sass 时找不到 libsass 绑定