Docz: 卡住试图运行docz dev

创建于 2019-03-22  ·  26评论  ·  资料来源: doczjs/docz

刚尝试过docz rc 1.0.0 rc3并得到以下多个错误实例:

✖致命错误,解析静态类型
错误错误:找不到合适的组件定义。
在解析时(/Users/bugzpodder/ui/node_modules/docz-core/node_modules/react-docgen/dist/parse.js:70:13)
在Object.defaultParse [解析时](/Users/bugzpodder/ui/node_modules/docz-core/node_modules/react-docgen/dist/main.js:64:29)
解析时(/Users/bugzpodder/ui/node_modules/docz-core/dist/index.js:1412:38)
在新的Promise(
在jsParser(/Users/bugzpodder/ui/node_modules/docz-core/dist/index.js:1409:12)
在Promise.all.files.map(/Users/bugzpodder/ui/node_modules/docz-core/dist/index.js:1430:15)
在Array.map(
在docgen(/Users/bugzpodder/ui/node_modules/docz-core/dist/index.js:1427:42)

关闭调试:并且用户界面停留在此位置:
●Docz██████████████████████████建筑物(10%)2/4单元2处于活动状态
../node_modules/url/url.js

大约5分钟后,出现以下UI错误,构建成功:
无效的挂接调用。 挂钩只能在功能组件的主体内部调用。 可能由于以下原因之一而发生:

  1. 您可能使用了不匹配的React和渲染器版本(例如React DOM)
  2. 您可能正在违反钩子规则
  3. 您可能在同一应用中拥有多个React副本
    有关如何调试和解决此问题的提示,请参阅https://fb.me/react-invalid-hook-call
  10 |   useDataServer('ws://127.0.0.1:60505')
  11 |   return (
  12 |     <Theme linkComponent={Link} db={database}>
> 13 |       <Routes imports={imports} />
     |      ^  14 |     </Theme>
  15 |   )
  16 | }
  11 | const root = document.querySelector('#root')
  12 | const render = (Component = Root) => {
  13 |   onPreRender()
> 14 |   ReactDOM.render(<Component />, root, onPostRender)
     |  ^  15 | }
  16 | 
  17 | render(Root)
bug v1

最有用的评论

同一期

所有26条评论

今天就浏览此内容,并在package.json文件中查找Docz。 我看到他们使用的React类型是^16.8.2 。 我在使用Docz的项目中使用React ^16.8.3

确保在具有Docz的项目中运行以下版本的React:

    "react": "^16.8.2",
    "react-dom": "^16.8.2",

之后,吹走.docz文件夹和node_modules 。 最后,重新安装node_modules并运行docz,您应该会很好!

有趣的是,我没有看到任何对等依赖项说明运行该项目需要安装的React版本。 @pedronauck很高兴加入PR以更新自述文件,并将特定的React版本添加到package.json

@ mwood23告诉您的内容应该可以解决此问题。

@pedronauck不是。
我将我的反应固定在package.json中的16.8.2上,docz自动安装了16.8.6,所以现在我安装了两个版本的反应(根据yarn为什么)
我将我的反应更改为16.8.6,现在只有一个版本,但仍不会与上面的相同错误重叠。

DOCZ_SOURCE=./src/ yarn docz dev debug
yarn run v1.15.2
$ ~/dev/node_modules/.bin/docz dev debug

● Docz █████████████████████████ building (10%) 2/4 modules 2 active
  ../node_modules/url/url.js


<--- Last few GCs --->

[68584:0x102645000]   123578 ms: Mark-sweep 1391.3 (1424.5) -> 1390.8 (1423.5) MB, 645.1 / 0.0 ms  (average mu = 0.091, current mu = 0.038) allocation failure scavenge might not succeed
[68584:0x102645000]   123583 ms: Scavenge 1391.6 (1423.5) -> 1391.1 (1424.0) MB, 2.7 / 0.0 ms  (average mu = 0.091, current mu = 0.038) allocation failure 
[68584:0x102645000]   123587 ms: Scavenge 1391.8 (1424.0) -> 1391.3 (1424.5) MB, 2.5 / 0.0 ms  (average mu = 0.091, current mu = 0.038) allocation failure 


<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x17ac3f1dbe3d]
Security context: 0x31c23fe9e6e1 <JSObject>
    1: /* anonymous */ [0x31c2e77794f9] [~/dev/node_modules/ast-types/lib/path-visitor.js:~174] [pc=0x17ac3f9c941f](this=0x31c2a9841179 <Object map = 0x31c2a3acbf79>,path=0x31c2b54c0d49 <NodePath map = 0x31c2a3ac6881>)
    2: /* anonymous */ [0x31c2e77794f9] [~/dev/node_modules/ast-types/lib/path-visitor.js:~174] [pc=0x17ac3f9...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x10003b125 node::Abort() [~/.nvm/versions/node/v10.15.0/bin/node]
 2: 0x10003b32f node::OnFatalError(char const*, char const*) [~/.nvm/versions/node/v10.15.0/bin/node]
 3: 0x1001a8e85 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [~/.nvm/versions/node/v10.15.0/bin/node]
 4: 0x1005742a2 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [~/.nvm/versions/node/v10.15.0/bin/node]
 5: 0x100576d75 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [~/.nvm/versions/node/v10.15.0/bin/node]
 6: 0x100572c1f v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [~/.nvm/versions/node/v10.15.0/bin/node]
 7: 0x100570df4 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [~/.nvm/versions/node/v10.15.0/bin/node]
 8: 0x10057d68c v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [~/.nvm/versions/node/v10.15.0/bin/node]
 9: 0x10057d70f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [~/.nvm/versions/node/v10.15.0/bin/node]
10: 0x10054d054 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [~/.nvm/versions/node/v10.15.0/bin/node]
11: 0x1007d4f24 v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [~/.nvm/versions/node/v10.15.0/bin/node]
12: 0x17ac3f1dbe3d 
13: 0x17ac3f9c941f 
error Command failed with signal "SIGABRT".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

可能是因为docz和docz-theme-default没有使用react和react-dom作为peerDependency。 不幸的是,我不知道解决此问题的正确方法是否是将依赖项作为peerDependency发出的请求。 因此,我可以提出解决方法。 我正在使用npm,所以我已经安装了该库(https://github.com/rogeriochaves/npm-force-resolutions)。 该lib强制我们的依赖项仅使用一个库(没有重复的库)。 因此,安装后,我将此添加到了package.json

"resolutions": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6"
}

并且docz再次起作用;)
PS。 我正在使用rc7和rc8版本。 也许此问题将在下一版本中解决

我遇到过同样的问题。 当我升级docz时,我的项目位于16.8.2,因此docz在16.8.6获得了自己的react副本。 一旦我删除了node_modules并锁定了程序包并重新安装,它就在docz中删除了一个,然后问题就消失了。
image

这正是peerDependencies的用途。

仍然出现此错误:
Error parsing static types × error Error: No suitable component definition found.

但是构建和开发工作正常

大家好,我遇到了同样的问题,我的package.json看起来像这样:

{
“ name”:“ driver-app”,
“ version”:“ 0.1.0”,
“私人”:是的,
“ homepage”:“ / react /”,
“依赖关系”:{
“ axios”:“ ^ 0.18.0”,
“ history”:“ ^ 4.9.0”,
“ react”:“ ^ 16.8.2”,
“ react-dom”:“ ^ 16.8.2”,
“ react-css-modules”:“ ^ 4.7.9”,
“ reactive-modal”:“ ^ 3.8.1”,
“ react-router-dom”:“ ^ 4.3.1”,
“反应脚本”:“ 2.1.5”,
“反应流畅”:“ ^ 0.23.2”
},
“脚本”:{
“ start”:“反应脚本开始”,
“ build”:“ react-scripts build”,
“ test”:“反应脚本测试”,
“ eject”:“反应脚本弹出”,
“ docz:dev”:“ docz dev”,
“ docz:build”:“ docz构建”
},
“ eslintConfig”:{
“扩展”:“反应应用”
},
“浏览者列表”:[
“> 0.2%”,
“没死”,
“不是,即<= 11”,
“不是全部op_mini”
],
“ devDependencies”:{
“ docz”:“最新”,
“ docz-theme-default”:“ ^ 1.0.4”,
“ enzyme”:“ ^ 3.9.0”,
“ enzyme-adapter-react-16”:“ ^ 1.12.1”,
“ svg-sprite-loader”:“ ^ 4.1.3”
}
}

有人可以帮忙吗?

同一期

我和@alexhawkins如何修复它

我的情况是我有一个由npm脚本管理的monorepo,没有像Lerna这样的monorepo工具。

我有一个包含所有Gatsby应用程序的前端文件夹。 前端仓库package.json具有

  "resolutions": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6"
  },
"dependencies" : {
    "react": "16.8.6",
    "react-dom": "16.8.6"
},
  "devDependencies": {
    "docz": "^1.0.4",
    "docz-theme-default": "^1.0.4"
}
  1. .docz加到.gitignore
  2. frontend文件夹中, rm -rf node_modules package-lock.json .docz
  3. frontend文件夹中, npm i
  4. frontend文件夹中, docz dev

应该解决。 对于将来阅读此书的人,您的react依赖项可能必须与https://github.com/pedronauck/docz/blob/master/core/docz/package.json中的任何React版本匹配

在尝试了所有上述内容之后,我还发现,无论我如何修复React等版本,升级到V1都会导致相同的堆栈跟踪。


● Docz █████████████████████████ building (11%) 9/16 modules 7 active
 node_modules/docz-core/node_modules/webpack-dev-server/client/overlay.js


<--- Last few GCs --->

[7187:0x10276f000]    28993 ms: Scavenge 1389.3 (1422.5) -> 1388.9 (1423.0) MB, 2.2 / 0.0 ms  (average mu = 0.093, current mu = 0.039) allocation failure 
[7187:0x10276f000]    28996 ms: Scavenge 1389.6 (1423.0) -> 1389.2 (1423.5) MB, 2.2 / 0.0 ms  (average mu = 0.093, current mu = 0.039) allocation failure 
[7187:0x10276f000]    29000 ms: Scavenge 1389.9 (1423.5) -> 1389.5 (1424.5) MB, 2.4 / 0.0 ms  (average mu = 0.093, current mu = 0.039) allocation failure 


<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x14a3e9a4fc7d]
Security context: 0x3042e899d949 <JSObject>
    1: getMembers(aka getMembers) [0x3042a4ca4ef9] [/Users/simon.bailey/src/web-ui/node_modules/react-docgen/dist/utils/getMembers.js:~43] [pc=0x14a3ea33dc3e](this=0x3042c9e825b1 <undefined>,0x3042b2f35bc1 <NodePath map = 0x3042a6c16111>,0x3042c9e82741 <true>)
    2: getPropType(aka getPropType) [0x3042dec3fd21] [/Users/simon.bailey/src/web-ui/node_modules/r...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x100062991 node::Abort() [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
 2: 0x100063030 node::errors::TryCatchScope::~TryCatchScope() [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
 3: 0x10019cf37 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
 4: 0x10019ced4 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
 5: 0x1005a2032 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
 6: 0x1005a4563 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
 7: 0x1005a0a98 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
 8: 0x10059ec55 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
 9: 0x1005ab4fc v8::internal::Heap::AllocateRawWithLightRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
10: 0x1005ab57f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
11: 0x10057a774 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
12: 0x10082cc94 v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [/Users/simon.bailey/.nvm/versions/node/v11.7.0/bin/node]
13: 0x14a3e9a4fc7d 

当尝试使用来自单独的通过npm link本地链接的仓库中的自定义主题时,我在项目中也安装了两次React。 我可以通过删除主题的node_modules中的react并将该符号项目对主题node_modules的响应符号链接起来来解决它。

同上。 相同的软件包版本,尝试添加resolutions字段,等等。相同的堆栈跟踪。

有任何更新吗? 我也尝试将反应固定到16.8.6,删除了node_modules和package-lock.json以获得重复数据删除的反应版本,但仍然遇到此错误

同事建议您使用babel.config.js设置api.cache(true),以使其正常运行。
https://babeljs.io/docs/en/configuration

重建package-lock.json对我有用。

仍然出现此错误。 固定的部门正在工作,但没有更多了

@hipstersmoothie

您能提供您使用的docz版本吗?

我在最新的v1版本中遇到了这个问题。 看到v2似乎在无限的RC状态方面停滞了,我担心这两个主要版本的软件包稳定性如何。

@wldcordeiro

V2将于11月25日下周一退出RC状态。

你有试过吗?

我鼓励您尝试一下,如果您遇到任何问题,我们将很乐意为您提供帮助! 或随时等待下周👍

@rakannimer只是想提及的是,错误仍然会在当V2显示在控制台debug设置为truedoczrc.js ,不知道是不是故意的,如果这些错误有任何影响。

嘿@ Clarity-89

我不确定出现了哪些错误。
这不是故意的,我无法复制。

您是否有机会提供复制或告诉我有关您项目的更多信息?

@rakannimer与类型有关的错误:

✖  fatal     Error parsing static types
✖  error     Error: No suitable component definition found. 
at parse (/Users/user/dev/uikit/node_modules/react-docgen/dist/parse.js:70:13)
at Object.defaultParse [as parse] (/Users/user/dev/uikit/node_modules/react-docgen/dist/main.js:64:29)
at parseFilepathProps (/Users/user/dev/uikit/node_modules/docz-core/dist/index.js:1898:33)
at Array.map (<anonymous>)
    at jsParser (/Users/user/dev/uikit/node_modules/docz-core/dist/index.js:1909:16)
    at docgen (/Users/user/dev/uikit/node_modules/docz-core/dist/index.js:2116:102)

不幸的是,该项目是商业代码,因此无法真正共享回购。

它基本上是Lerna管理的monorepo UI组件库。 我想知道错误是否可能是由于某些依赖关系造成的? 它似乎丝毫不影响正在运行的应用程序。

@rakannimer我能够用一个软件包在一个小型monorepo中重现警告。 您可以在这里找到它: https :
重现步骤:

  1. 克隆仓库
  2. 运行yarn install
  3. 运行docz dev

错误显示在createSchemaCustomization步骤之后。 我使用Node 10.16.213.2尝试。

让我知道您是否需要更多信息。

我仍然有这个问题。 如果在我的React应用程序中安装Docz,则我在同一应用程序中会得到多个React副本:

Screen Shot 2020-06-01 at 12 46 56 PM

我尝试使用npm force-resolutions,但就我而言,它无法解决此问题。

我注意到Docz使用以下版本的react和react-dom:
“ react”:“ ^ 16.8.0”,
“ react-dom”:“ ^ 16.8.0”

我的项目正在使用16.13.1,这可能是问题吗?

请任何帮助将不胜感激!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

wldcordeiro picture wldcordeiro  ·  3评论

ilyanoskov picture ilyanoskov  ·  3评论

hayk94 picture hayk94  ·  3评论

bichotll picture bichotll  ·  3评论

merelinguist picture merelinguist  ·  3评论