刚尝试过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错误,构建成功:
无效的挂接调用。 挂钩只能在功能组件的主体内部调用。 可能由于以下原因之一而发生:
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)
今天就浏览此内容,并在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中删除了一个,然后问题就消失了。
这正是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"
}
.docz
加到.gitignore
frontend
文件夹中, rm -rf node_modules package-lock.json .docz
frontend
文件夹中, npm i
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
设置为true
的doczrc.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 :
重现步骤:
yarn install
docz dev
错误显示在createSchemaCustomization
步骤之后。 我使用Node 10.16.2
和13.2
尝试。
让我知道您是否需要更多信息。
我仍然有这个问题。 如果在我的React应用程序中安装Docz,则我在同一应用程序中会得到多个React副本:
我尝试使用npm force-resolutions,但就我而言,它无法解决此问题。
我注意到Docz使用以下版本的react和react-dom:
“ react”:“ ^ 16.8.0”,
“ react-dom”:“ ^ 16.8.0”
我的项目正在使用16.13.1,这可能是问题吗?
请任何帮助将不胜感激!
最有用的评论
同一期