У коді VS я отримую цю помилку: "Не вдалося завантажити модуль. Спроба завантажити гарніші з пакета.json '


21

Коли я використовую VS Code і відкриваю проект, я отримую це повідомлення в правому нижньому куті:

Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have runnpm встановитиAttempted to load prettier from package.json.

Source: Prettier Code Format (Extension)

Запуск установки npm не вирішує це питання. У когось є ідея, чому це так, або що я можу зробити, щоб виправити це?


Маючи таку ж проблему. Ви випадково відстаєте від проксі?
Брайс

Здається, на моїй машині якийсь шлях перерваний або щось не вистачає. У нас є package.json зі скриптом для кращого запуску та підводки. Запуск сценарію з файлу package.json не застосовується красивіше, але якщо я сам його форматую (параметр + shift + f на mac), він працює. Настільки химерні та дратівливі доводиться вручну форматувати кожен файл.
ghostagent151

Це здається досить недавнім "доповненням" до Кодексу VS. Незважаючи на те, що в минулому використовували гарніші, ми не спостерігали цієї проблеми. Я не знаю, з якої версії коду VS це стало проблемою.
Манфред

З тією ж проблемою, як і кілька днів тому. Немає проксі-сервера або брандмауера - щось
покращилося

3
З цим пов’язаним випуском github. Вони шукають додаткову інформацію з цього питання (і за наявності репо, яким можна поділитися). github.com/prettier/prettier-vscode/isissue/1066
Каспер

Відповіді:


16

Це рішення, яке працювало для мене

1. Встановіть досить гарненько в глобальному масштабі через npm, якщо ви ніколи не встановлювали його глобально

npm i prettier -g

2. Шукайте та використовуйте параметри Prettier Pathрозширення у налаштуваннях коду VS

введіть тут опис зображення

// Ви можете перейти до коду VS Settings > Extensions > Prettierдля всіх параметрів гарнішого розширення

3. Оновіть свій Prettier Pathдо глобально встановленого Prettier.

Наприклад

/usr/local/lib/node_modules/prettier (Mac OS)

\AppData\Roaming\npm\node_modules\prettier (Windows)


Я встановив Красивіше в усьому світі. Коли я заходжу в налаштування коду VS, я шукаю Prettier Path. Тут я бачу 2 варіанти, Prettier:Config Pathі Prettier: Prettier Path. Я використовую mac. Чи слід додати /usr/local/lib/node_modules/prettierдо обох контурів чи лише перший?
ghostagent151

1
@ ghostagent151 лише останній "Гарніший: гарніший шлях", як показано на скріншоті.
Донован

Ось ще одне питання, яке я бачу. Якщо я завантажую кращі розширення в код коду, у мене налаштовані налаштування, щоб при збереженні воно автоматично застосувало красивіше до мого коду. Однак, здається, існують дві різні версії кращого застосування. Якщо я запускаю npm run prettierз командного рядка, наприклад, змінні, у яких є рядки з подвійними лапками, перетворюються на одиничні лапки. Якщо я збережу і застосовано автоматичний формат, вони перетворюються на подвійні лапки. Не впевнений, що з цим відбувається.
ghostagent151

1
@ ghostagent151 Це вже інше питання. Біг npm run prettierвикористовує локальну красуню у вашому проекті, node_modulesякщо в проекті package.jsonіснує. Моя порада - ви вимкніть код VS, formatOnSaveякщо будете використовувати власні правила форматування для свого проекту. Щоб уникнути перезапису формату.
Tunji Oyeniran

1
Ваш шлях до глобально встановлених модулів відрізнятиметься не тільки від ОС, але і від того, як ви встановили npm (тобто nvm тощо). Найпростіший спосіб отримати шлях - пробігтиnpm root -g
BoDeX

2

Оновлення

Тепер він працює для мене з prettier-vscode4.1.1 та prettier2.0.4, спробуйте. Я можу використовувати в комплекті або встановлену на місцевому варіанті гарнішу.

Помітні зміни :

  • [4.0.0] Оновлено красивіше до 2.0
  • [4.1.0] Додана опція конфігурації зNodeModules, щоб дозволити обробку файлів у папці node_modules [за замовчуванням: false]
  • [4.1.0] Підтримка завантаження Pretteer від node_modules, навіть якщо це не відображається як пряма залежність у package.json

Оригінальна публікація

Я зіткнувся з цією проблемою під час перевірки вихідного коду зовнішнього пакета в node_modules.

Вирішення проблеми полягає в тому, щоб усунути prettierзапис package.jsonцього пакету - не prettierпотрібно встановлювати локальну / глобальну установку. Приклад :

{
  "devDependencies": {
    ...
    "prettier": "^1.19.1", // remove this line completely
  },
}

Зберігайте package.jsonдійсну косу без кінцевих знаків, не просто коментуйте рядок. Причина, чому це працює:

Розширення шукає дерево вниз, поки ми не подамо пакет.json. Якщо цей package.json містить гарніший, розширення використовує це, інакше воно перейде до використання пакетної версії Prettier. Посилання

Я здогадуюсь, що розширення хоче використовувати prettierз пакету, навіть якщо воно є devDependencies.

Не повинно бути шкоди для скидання devDependencyз пакета node_modules. Це також дозволяє використовувати prettierверсію в комплекті prettier-vscode(не потрібно встановлювати).


1

Я щойно зіткнувся з цим і виявив, що у моєму файлі package.json у мене синтаксична помилка. В одному рядку була кінцева кома, і саме це здавалося першопричиною для мене.

Я помітив це, оскільки побачив наступний результат при спробі запустити деякі кутові тести:

C:\... [feature/migrate-away-from-angular-http +2 ~6 -0 | +0 ~5 -0 !]> ng test
10% building 3/3 modules 0 active20 11 2019 21:11:18.638:WARN [karma]: No captured browser, open http://localhost:9876/
20 11 2019 21:11:19.575:INFO [karma-server]: Karma v4.1.0 server started at http://0.0.0.0:9876/
20 11 2019 21:11:19.576:INFO [launcher]: Launching browsers Chrome with concurrency unlimited
20 11 2019 21:11:19.594:INFO [launcher]: Starting browser Chrome

ERROR in ./src/app/app.component.spec.ts
Module not found: SyntaxError: C:\...\package.json (directory description file): SyntaxError: C:\...\package.json (directory description file): SyntaxError: Unexpected token } in JSON at position 167
 @ ./src/app/app.component.spec.ts 7:31-75
 @ ./src sync \.spec\.ts$
 @ ./src/test.ts
ERROR in ./src/app/app.component.ts

1

Під час налаштування красивіше важливо налаштувати його за проектом. Не кожен проект використовує один і той же стиль коду, тому важливо поважати стиль будь-якого проекту, над яким ви зараз працюєте.

Демо-репо bahmutov/prettier-config-exampleмає дві підпапки, кожна зі своїм чітким кодовим стилем, виконуваним Prettier. Насправді кожен ваш репост матиме свій стиль; Я використовую підпапки для того, щоб простий приклад був простим.

npm install --save-dev --save-exact prettier


1

Перепробував усі запропоновані тут рішення, не допомогло. Оновлення коду Visual Studio вирішило цю проблему.


0

Виправлено цю проблему npm install глобальному масштабі.

У мене виникло це питання, коли я прибирав своє node_nodules. У мене було eslintразом з гарнішими глобально встановленими. І коли я видалив node_modulesцю помилку, яка з'явилася на екрані .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.