cannot find module "less"

2,960 阅读1分钟

今天发版,结果打包报错。本人开发使用的是MacOS系统,因为要对less文件进行处理,只安装了less-loader,不管是打包还是运行都没有问题。但是发版的是Linux系统,找不到less。

1. 查找原因

1. 首先查看了本地的全局安装依赖,未安装less。

2. 查看项目package.json,未手动安装过less, 只有less-loader的依赖。

3. 查看本地node_modules依赖包,有less依赖包。

4. 在Linux环境下手动安装less后,可以正常打包:npm install less

2. 定位原因

通过上面的分析可知,最可能的原因是less-loader在不同的系统环境下,安装的依赖包不同。由于没有Linux的环境,所以使用windows环境进行验证。

3. 安装less-loader验证

在windows和MacOS下,分别生成一个新项目,然后只安装less-loader

npm init -y
npm install less-loader

结果对比如下:

1. MacOS下

2. windows下

4.  结论

在MacOS下,less-loader安装的同时会自动安装less, 而windows和Linux环境则不会。

所以,使用less时,为了兼容性考虑,还是老老实实按照官网的要求:

npm install --save less less-loader

两个一起安装!!!!