element-theme icon indicating copy to clipboard operation
element-theme copied to clipboard

ReferenceError: primordials is not defined - when trying to generate theme variables file

Open trane77 opened this issue 6 years ago • 22 comments

Hi,

I'm following the guide in the documentation, so I've started to follow the steps. I did install all the packages locally, then when launching the command:

/node_modules/.bin/et.cmd -i (I'm on Windows)

It returns an error almost immediately:

`fs.js:27 const { Math, Object, Reflect } = primordials; ^

ReferenceError: primordials is not defined at fs.js:27:35 at req_ (F:\myrepo\myempire\node_modules\natives\index.js:143:24) at Object.req [as require] (F:\myrepo\myempire\node_modules\natives\index.js:55:10) at Object. (F:\myrepo\myempire\node_modules\vinyl-fs\node_modules\graceful-fs\fs.js:1:37) at Module._compile (internal/modules/cjs/loader.js:759:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10) at Module.load (internal/modules/cjs/loader.js:628:32) at Function.Module._load (internal/modules/cjs/loader.js:555:12) at Module.require (internal/modules/cjs/loader.js:666:19) at require (internal/modules/cjs/helpers.js:16:16)`

Ok, I've done a quick search and I couldn't find any solution related to element, but some references to the same issue in other packages, yes.

Looks like with never versions of Node, you get this problem when using: graceful-fs < v4 Seems that even gulp is needed >= v4.

During my tests, I've tried to install the element-theme package globally, but nothing changed. But doing that I've seen some warnings showing up: npm WARN deprecated [email protected]: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js npm WARN deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools. npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js npm WARN deprecated [email protected]: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5

As you can see there are lots of deprecated packages... Now I will try to update them on my machine, I hope to not loose too much time.. In case of success I will write a comment.

Anyway I think that this has to be fixed, I was using Node v12, then I installed Node v.10.16.0 which is the current LTS version, and the problem remained.

trane77 avatar Jul 18 '19 15:07 trane77

Any solution ? I have exactly the same issue, and I've no idea how to fix it. Downgrading Node version doesn't helped me...

AGachet avatar Aug 13 '19 16:08 AGachet

Got same issue.

wangzw avatar Aug 28 '19 15:08 wangzw

大家解决了吗?我也遇到这个问题了

mailxcl avatar Oct 01 '19 03:10 mailxcl

找到办法了,nodejs 12版本的用npm i element-themex --save即可

mailxcl avatar Oct 01 '19 07:10 mailxcl

找到办法了,nodejs 12版本的用npm i element-themex --save即可

请问是直接用npm i element-themex --save之后再进行官方的安装吗?

thbor avatar Nov 05 '19 14:11 thbor

node版本降到10.x,重新安装node_modules就好了。

Aprilday avatar Nov 27 '19 05:11 Aprilday

这个bug似乎仍然存在

node: v12.16.1
npm: 6.13.4

"element-theme": "^2.0.1",
"element-theme-chalk": "^2.13.0"

details:

fs.js:35
} = primordials;
    ^

ReferenceError: primordials is not defined
    at fs.js:35:5
    at req_ (.\node_modules\natives\index.js:143:24)
    at Object.req [as require] (.\node_modules\natives\index.js:55:10)
    at Object.<anonymous> (.\node_modules\vinyl-fs\node_modules\graceful-fs\fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)

yzx9 avatar Mar 18 '20 16:03 yzx9

找到办法了,nodejs 12版本的用npm i element-themex --save即可

可以的

LesterWeng avatar Apr 13 '20 03:04 LesterWeng

找到办法了,nodejs 12版本的用npm i element-themex --save即可

好像还是不行

zboboan avatar Apr 26 '20 04:04 zboboan

找到办法了,nodejs 12版本的用npm i element-themex --save即可

可以的

//安装elementui npm i element-ui -S

//安装sass npm i sass-loader node-sass -D

//安装主题工具 npm i element-theme -g

//安装 element-themex npm i element-themex --save

是怎么弄的?我这里还是报 primordials is not defined

zboboan avatar Apr 26 '20 05:04 zboboan

any fix for this?

lucascassiano avatar Jun 03 '20 20:06 lucascassiano

It seems issue encountered when no theme installed - fs module cannot find file. According to documentation [https://element.eleme.io/#/en-US/component/custom-theme] you should install any theme (for example, chalk) before calling this command. I have tried and it helped. So if you'll try (i'm using yarn, for npm the same):

yarn add -D element-theme
node_modules/.bin/et -i 

You'll get an error: ReferenceError: primordials is not defined

But if you'll do

 yarn add -D element-theme
 yarn add -D element-theme-chalk
node_modules/.bin/et -i        

the variables will be generated successfully.

LbISS avatar Jun 04 '20 20:06 LbISS

It seems issue encountered when no theme installed - fs module cannot find file. According to documentation [https://element.eleme.io/#/en-US/component/custom-theme] you should install any theme (for example, chalk) before calling this command. I have tried and it helped. So if you'll try (i'm using yarn, for npm the same):

yarn add -D element-theme
node_modules/.bin/et -i 

You'll get an error: ReferenceError: primordials is not defined

But if you'll do

 yarn add -D element-theme
 yarn add -D element-theme-chalk
node_modules/.bin/et -i        

the variables will be generated successfully.

Nop not working for me. but i installed element-themex and it works.

mdogancay avatar Aug 05 '20 17:08 mdogancay

为啥不修复呀

laydll avatar Aug 17 '20 09:08 laydll

为啥不修复呀

听说 element 团队解散了

zboboan avatar Aug 18 '20 00:08 zboboan

I have same problem.

vladislav-sevostyanov avatar Nov 11 '20 20:11 vladislav-sevostyanov

根据楼上几位大佬的指点,我发现还是有很多朋友没法解决,我在个人博客总结了一下。可以尝试阅读解决:

如果不想点开,我大致总结下:

npm i element-themex element-theme-chalk -D

装这两个就可以了。

其它的跟官方文档一样,

node_modules/.bin/et -i

创建默认的配置文件element-variables.scss,根据需要修改后再执行

node_modules/.bin/et

进行编译,可能会出现非常多的红色提醒,无视也行。

具体细节可参见顶部提到的文章总结

whidy avatar Nov 13 '20 01:11 whidy

找到办法了,nodejs 12版本的用npm i element-themex --save即可

感谢,解决了

jackzhujie avatar Nov 16 '20 03:11 jackzhujie

根据楼上几位大佬的指点,我发现还是有很多朋友没法解决,我在个人博客总结了一下。可以尝试阅读解决:

如果不想点开,我大致总结下:

npm i element-themex element-theme-chalk -D

装这两个就可以了。

其它的跟官方文档一样,

node_modules/.bin/et -i

创建默认的配置文件element-variables.scss,根据需要修改后再执行

node_modules/.bin/et

进行编译,可能会出现非常多的红色提醒,无视也行。

具体细节可参见顶部提到的文章总结

thank you very much! that work for me

YorickLane avatar Mar 12 '21 07:03 YorickLane

Please make it a priority to fix this. Issue has been around for 2 years.

Giwayume avatar Mar 31 '21 04:03 Giwayume

@Giwayume 人员估计都跑去维护 element-plus 了.🙃

iDerekLi avatar Mar 14 '22 09:03 iDerekLi

根据楼上几位大佬的指点,我发现还有很多朋友没法解决,我在个人博客总结了下。可以试试阅读解决:

如果不想点开,我大致总结下:

npm i element-themex element-theme-chalk -D

装这两个就可以了。

其他的跟官方文档一样,

node_modules/.bin/et -i

创建默认的配置文件element-variables.scss,根据需要修改后重新执行

node_modules/.bin/et

进行编译,可能会出现非常多的红色提示,无视也行。

具体细节可参看顶部提到的文章总结

有用,感谢大佬

YongHangPu avatar Jan 09 '23 03:01 YongHangPu