在我的
MainProject
中,我正在尝试安装使用 ckeditor5 包生成器创建的 ckeditor-5 插件 PeteCkPlugin
的 本地版本。
我尝试在本地
yarn link
根目录中使用 PeteCkPlugin
,然后在 yarn link @PeteSpace/PeteCkPlugin
根目录中使用 MainProject
,但出现了 Usage Error: Invalid destination '@PeteSpace/PeteCkPlugin'; Can't link the project to itself
错误。
我也尝试过使用纱线
package.json
分辨率字段:
{
...,
"resolutions": {
"@PeteSpace/PeteCkPlugin": "link:/path/to/project/PeteSpace/PeteCkPlugin"
},"
...
}
成功安装了该软件包,但
MainProject
随后由于"Uncaught CKEditorError: ckeditor-duplicated-modules Read more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-ckeditor-duplicated-modules"
错误而失败,因为我认为本地PeteCkPlugin
软件包正在使用它自己的PeteCkPackage/node_modules/ckeditor package
,而不是共享的MainProject/node_modules/ckeditor package
...
我还尝试过用
portal:
代替上面分辨率值中的 link:
”...
我还无法发布该包,因为它是私有的,而且我还没有加入正确的 npm 组织。
很高兴听到任何有帮助的想法,我绝对还不了解符号链接以及yarn和npm的幕后情况。
随着时间的推移,我在使用
yarn link
时遇到了类似的问题,并求助于使用 yalc
来代替,每次都完美无缺。
过程非常简单:
volta install yalc # or `npm i -g yalc` if you don't use volta
yalc publish # run from dependency root after build process
yalc link # run from the root of your main project
您还可以订阅并自动发布依赖项的更改。
有关更多信息,请参阅官方自述文件。