在Lerna和yarn工作区中使用语义UI

时间:2019-05-12 18:22:49

标签: semantic-ui yarnpkg lerna yarn-workspaces

语义UI(和Fomantic UI)安装程序(众所周知?)不支持yarn,因为它具有交互式的后安装脚本。即使"autoInstall": true中有semantic.json,在第一次安装时纱线仍会断裂。

使用工作区时,很难将主题语义UI安装在Lerna monorepo中的自己的程序包中。即使将--ignore-scripts添加到Lerna的package.json脚本中,它仍会时不时地自行运行标准的yarn install并在进行更改时被语义UI阻止。

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

一种方法是编辑packages/semantic-ui/package.json,从"semantic-ui"中删除dependencies并添加脚本"install": "node ./install.js"。然后,仅在环境中检测到纱线的情况下,创建一个生成npm install semantic-ui --no-save的脚本(为防止无限安装循环;请检查process.env.npm_config_user_agent)。

这是一种复杂且容易出错的方法,但是,如果存在带有semantic.json的{​​{1}},它将自动安装语义UI并运行gulp作业,从而使自定义主题可用于其他软件包,网址为"autoInstall": true

答案 1 :(得分:0)

实际上,您可以使用fomantic-ui使autoInstall与yarn一起工作,我只运行了这些命令,它就起作用了

$ yarn add fomantic-ui --ignore-scripts
$ yarn --cwd node_modules/fomantic-ui run install

semantic.json

-  "autoInstall": false,
+  "autoInstall": true,

现在,每次运行yarn install时,它都会“跳过”安装脚本。

  

确保您使用的是最新版本的FUI

FUI仓库https://github.com/fomantic/Fomantic-UI/issues/386

上也存在与此问题有关的整个问题