vuejs / vuepress

📝 Minimalistic Vue-powered static site generator
https://vuepress.vuejs.org
MIT License
22.57k stars 4.76k forks source link

Compatibility with Yarn 2 Plug'n'Play #2532

Open lucifer1004 opened 4 years ago

lucifer1004 commented 4 years ago

Bug report

Steps to reproduce

Using vuepress with Yarn 2.

What is expected?

Vuepress should work fine.

What is actually happening?

Many dependencies are broken.

Other relevant information

darioblanco commented 4 years ago

Any news about this issue? I can't run vuepress build with yarn 2 pnp

darioblanco commented 4 years ago

@lucifer1004 adding the following entries to my .yarnrc.yml config worked

packageExtensions:
  'vuepress@*':
    dependencies:
      '@vuepress/shared-utils': '*'
  'vue-server-renderer@*':
    dependencies:
      'vue': '*'

However, it would be better if these dependencies are defined in the package.json in the vuepress project. See Fix Dependencies With package Extensions for more information

Shinigami92 commented 3 years ago

I'm now also affected by this and it really painful to configure more and more stuff

Currently I have

packageExtensions:
    'vuepress@*':
        dependencies:
            '@vuepress/shared-utils': '*'
    'vue-server-renderer@*':
        dependencies:
            'vue': '^2'
    '@vuepress/shared-utils@*':
        dependencies:
            'markdown-it-emoji': '*'
            'lru-cache': '*'
            '@vue/component-compiler-utils': '*'
    '@vuepress/markdown-loader@*':
        dependencies:
            '@vuepress/shared-utils': '*'
    '@vuepress/core@*':
        dependencies:
            'escape-html': '*'

And now I encounter

wait Extracting site metadata...
Error: EROFS: read-only filesystem, mkdir '/node_modules/@vuepress/core/.temp'
    at makeError (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:24702:24)
    at EROFS (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:24732:10)
    at ZipFS.mkdirSync (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:27125:30)
    at /home/shinigami/OpenSource/plugin-pug/.pnp.cjs:28013:20
    at /home/shinigami/OpenSource/plugin-pug/.pnp.cjs:28235:58
    at ZipOpenFS.getZipSync (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:28380:14)
    at ZipOpenFS.makeCallSync (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:28235:17)
    at ZipOpenFS.mkdirSync (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:28008:17)
    at VirtualFS.mkdirSync (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:25402:24)
    at PosixFS.mkdirSync (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:25402:24)
    at URLFS.mkdirSync (/home/shinigami/OpenSource/plugin-pug/.pnp.cjs:25402:24)
    at Object.mkdirsSync (/home/shinigami/OpenSource/plugin-pug/.yarn/cache/fs-extra-npm-7.0.1-b33a5e53e9-141b9dccb2.zip/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js:31:9)
    at createTemp (/home/shinigami/OpenSource/plugin-pug/.yarn/cache/@vuepress-core-npm-1.8.2-1597688715-062f2b82ea.zip/node_modules/@vuepress/core/lib/node/createTemp.js:31:8)
    at App.resolveConfigAndInitialize (/home/shinigami/OpenSource/plugin-pug/.yarn/cache/@vuepress-core-npm-1.8.2-1597688715-062f2b82ea.zip/node_modules/@vuepress/core/lib/node/App.js:79:37)
    at App.process (/home/shinigami/OpenSource/plugin-pug/.yarn/cache/@vuepress-core-npm-1.8.2-1597688715-062f2b82ea.zip/node_modules/@vuepress/core/lib/node/App.js:103:16)
    at build (/home/shinigami/OpenSource/plugin-pug/.yarn/cache/@vuepress-core-npm-1.8.2-1597688715-062f2b82ea.zip/node_modules/@vuepress/core/lib/index.js:26:13)

And now I feel a bit stuck :thinking: