GitOfZGT / vite-plugin-theme-preprocessor

css theme preprocessor plugin for vite
MIT License
161 stars 15 forks source link

linux 下编译报错 #18

Closed transtone closed 2 years ago

transtone commented 2 years ago
❯ yarn build
yarn run v1.22.17
$ vite build
vite v2.6.14 building for production...
✓ 0 modules transformed.
[vite-plugin-theme-preprocessor] ENOENT: no such file or directory, stat '/mnt/d/code/hnrr/FE/pc-grid/node_modules/@zougt/vite-plugin-theme-preprocessor/dist/substitute/less/node_modules/.bin/needle'
error during build:
Error: ENOENT: no such file or directory, stat '/mnt/d/code/hnrr/FE/pc-grid/node_modules/@zougt/vite-plugin-theme-preprocessor/dist/substitute/less/node_modules/.bin/needle'
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

版本 1.3.12,node-v16.13.1

GitOfZGT commented 2 years ago

在 v1.4.0.beta.5 修复, 安装新版本前,先删除一次node_modules, 最好yarn.lock 也删除一次。

并没有linux环境来测试,确定你的环境上不再出现这个问题,请回来反馈下哦,谢谢。

transtone commented 2 years ago

@GitOfZGT 作者你好,能不能先把 1.3.x 修一下? 现在的情况是 v1.3.x 在 windows 下能用,但在 linux 下报错(编译需要)。 而 v1.4.x 在 windows 下报错,在 linux 下可用。

完全没法用呀。

GitOfZGT commented 2 years ago

@GitOfZGT 作者你好,能不能先把 1.3.x 修一下? 现在的情况是 v1.3.x 在 windows 下能用,但在 linux 下报错(编译需要)。 而 v1.4.x 在 windows 下报错,在 linux 下可用。

完全没法用呀。

稍等,我写个demo放上来,在处理中

GitOfZGT commented 2 years ago

https://github.com/GitOfZGT/dynamic-theme-demos 请用你的环境跑下这里的demo 目录:projects/vite-antd-vue-preset-theme 在这里插入图片描述

transtone commented 2 years ago

image

image

GitOfZGT commented 2 years ago

哭了,到底环境相差在哪呢,看报错的位置,是vite内置的css插件报错的找不到less包,但是我的环境不会这样 image

GitOfZGT commented 2 years ago

能否找到这个位置把 错误输出来看看是什么 image 然后看看node_modules 能不能找的less包,截个图 image

transtone commented 2 years ago

image

下午8:25:19 [vite] Internal server error: Preprocessor dependency "less" not found. Did you install it?
  Plugin: vite:css
  File: D:/code/vite-antd-vue-preset-theme/node_modules/ant-design-vue/es/date-picker/style/index.less
      at loadPreprocessor (D:\code\vite-antd-vue-preset-theme\node_modules\vite\dist\node\chunks\dep-e0fe87f8.js:20486:15)
      at less (D:\code\vite-antd-vue-preset-theme\node_modules\vite\dist\node\chunks\dep-e0fe87f8.js:20584:22)
      at compileCSS (D:\code\vite-antd-vue-preset-theme\node_modules\vite\dist\node\chunks\dep-e0fe87f8.js:20227:40)
      at async TransformContext.transform (D:\code\vite-antd-vue-preset-theme\node_modules\vite\dist\node\chunks\dep-e0fe87f8.js:19876:50)
      at async Object.transform (D:\code\vite-antd-vue-preset-theme\node_modules\vite\dist\node\chunks\dep-e0fe87f8.js:42397:30)
      at async doTransform (D:\code\vite-antd-vue-preset-theme\node_modules\vite\dist\node\chunks\dep-e0fe87f8.js:56802:29)
Error: Cannot find module 'D:code
                                 ite-antd-vue-preset-theme
ode_modules.zougtThemeoriginal/less/index.js'
Require stack:
- D:\code\vite-antd-vue-preset-theme\node_modules\less\index.js
- D:\code\vite-antd-vue-preset-theme\node_modules\vite\dist\node\chunks\dep-e0fe87f8.js
- D:\code\vite-antd-vue-preset-theme\node_modules\vite\dist\node\cli.js
- D:\code\vite-antd-vue-preset-theme\node_modules\vite\bin\vite.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (D:\code\vite-antd-vue-preset-theme\node_modules\less\index.js:1:26)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'D:\\code\\vite-antd-vue-preset-theme\\node_modules\\less\\index.js',
    'D:\\code\\vite-antd-vue-preset-theme\\node_modules\\vite\\dist\\node\\chunks\\dep-e0fe87f8.js',
    'D:\\code\\vite-antd-vue-preset-theme\\node_modules\\vite\\dist\\node\\cli.js',
    'D:\\code\\vite-antd-vue-preset-theme\\node_modules\\vite\\bin\\vite.js'
  ]
}

image

transtone commented 2 years ago

image

这是什么鬼,node_modules 目录下的 less 怎么变这样了?

1.3.12 的能用,但也被改了。难怪 linux 不认。 image

GitOfZGT commented 2 years ago

我知道了怎么回事了, v1.4.0-beta.9 可以了

windows和linux的绝对路径差异问题

transtone commented 2 years ago

经测试,windows下可用;linux 也可用。👍