При попытке создать приложение с помощью Vite я вижу ошибку. Если я правильно понимаю, похоже, есть проблема с разрешением Yarn PnP зависимостей (больше нет node_modules), и Vite, похоже, не улавливает этого? Как я могу заставить Vite понять, что node_modules больше не существует?
Обновлять: Здесь воспроизведен тестовый пример: https://github.com/michaeljohansen/vite-test-кейс — кажется, что ошибка исчезает, если удалить "type": "module" из package.json, но для меня это пока не имеет смысла и создает другие проблемы для моего бэкэнда Node.
$ yarn run vite --config vite.config.js
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'vite' imported from /Users/me/project/vite.config.js
Did you mean to import vite-virtual-ec56a6c02a/0/cache/vite-npm-2.9.13-cda1bb45b9-a5e501b920.zip/node_modules/vite/dist/node/index.js?
at new NodeError (node:internal/errors:377:5)
at packageResolve (node:internal/modules/esm/resolve:910:9)
...
// vite.config.js excerpt
import { defineConfig } from 'vite';
export default defineConfig(({ command, mode }) => {
...
});
Абсолютно, вот: github.com/michaeljohansen/vite-test-case - Кроме того, ошибка, кажется, исчезает, если удалить "type": "module" из package.json, но для меня это пока не имеет смысла.
Если я установлю для пряжи значение 3.1.1, я получу другую ошибку, связанную с pnp.cjs. С другой стороны, установив для пряжи последнюю версию berry (3.2.1), ошибок не возникает вообще. Есть ли причина, по которой вы все еще на 3.1?
К сожалению, то же самое произошло с Yarn v3.2.1.
Каково ваше окружение? Моя: macOS Big Sur, узел 17.4.0
macOS Monterey, процессор M1, Node 18.5.0, Yarn 3.2.1, Vite 2.9.13.
Это репо работает только для меня с Node 18.3 и 18.5. Не работает на 18.6. Можете ли вы включить туда свои .pnp.cjs и .yarnrc.yml?
Оказывается, мне нужно было обновить Yarn до 3.2.1, но я забыл обновить поле packageManager в package.json с помощью Yarn 3.2.1. Bounty присуждается за ответ, который посоветовал мне обновить версию Yarn. Кроме того, @AntonMihaylov отправил .pnp.cjs сейчас, у меня еще нет .yarnrc.yml для этого репо.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам необходимо перейти на пряжу 3.2.0 или выше.
yarn set version stable
# or
yarn set version 3.2.0
И запустите yarn install, чтобы обновить .pnp.cjs.
Узнайте больше на Журнал изменений, что они обрабатывают модули ESM и commonjs.
К сожалению, все еще не работает. Он начинает работать только в том случае, если я удаляю "type": "module" из package.json, но это создает проблемы для моего бэкэнда Node, поэтому на самом деле это не вариант. Мне пришлось прекратить использовать Yarn PnP и вернуться к использованию nodeLinker: node-modules в моем .yarnrc.yml. Узел 18.5.0, Пряжа 3.2.1, Вите 2.9.13.
Обновление: кажется, это работает, когда я также изменил версию Yarn в package.json, поэтому ваш ответ кажется правильным. Присуждение награды сейчас. Спасибо!
Я не могу воспроизвести проблему. Не поделитесь ссылкой на воспроизведение проблемы?