VS Kod, bu hatayı alıyorum, 'Modülü yüklenemedi. Package.json 'dan daha güzel yükleme girişimi


21

VS Code kullanırken ve bir proje açarken, bu bildirimi sağ alt köşede alıyorum:

Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have runnpm kurulumuAttempted to load prettier from package.json.

Source: Prettier Code Format (Extension)

Npm kurulumunu çalıştırmak bunu çözmez. Herkes bunun neden olduğunu veya bunu düzeltmek için ne yapabilirim hakkında bir fikri var mı?


Aynı sorunu yaşıyor. Şans eseri vekilin arkasında mısınız?
Bryce

Makinemde bir yol bozuk ya da bir şey eksik gibi görünüyor. Daha güzel ve bir linter çalıştırmak için bir script ile bir package.json var. Betiği package.json dosyasından çalıştırmak daha güzel geçerli değildir, ancak kendim biçimlendirirsem (bir mac'ta Option + shift + f) çalışır. Her dosyayı manuel olarak biçimlendirmek zorunda tuhaf ve sinir bozucu.
19:20

Bu VS Kodu için oldukça yeni bir "ekleme" gibi görünüyor. Geçmişte daha güzel olmasına rağmen, bu sorunu gözlemlemedik. Hangi VS Kod sürümünden itibaren bu bir sorun haline gelmez.
Manfred

Birkaç gün önce aynı sorunu yaşıyoruz. Proxy veya güvenlik duvarı yok - en son VS Kod güncellemesinde bir şey daha güzel oldu
Hemal

3
Bu ilgili github sorunudur. Bu konuda daha fazla bilgi arıyorlar (ve varsa paylaşılabilecek bir repo). github.com/prettier/prettier-vscode/issues/1066
Kasper

Yanıtlar:


16

Bu benim için çalışan bir çözüm

1. Eğer daha önce global olarak yüklemediyseniz Prettier Global'i npm ile kurun

npm i prettier -g

2.Prettier Path VS Kodu Ayarlarınızda Uzantı Ayarlarını Arayın ve Kullanın

resim açıklamasını buraya girin

// Settings > Extensions > PrettierTüm Prettier Uzantı Ayarları için VS Koduna gidebilirsiniz

3. Güncelleme Prettier Pathsenin global yüklü güzel için.

Örneğin

/usr/local/lib/node_modules/prettier (Mac os işletim sistemi)

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


Prettier'i küresel olarak kurdum. VS Kodu ayarlarına gittiğimde, ararım Prettier Path. Burada 2 seçenek görüyorum Prettier:Config Pathve Prettier: Prettier Path. Mac kullanıyorum. Her /usr/local/lib/node_modules/prettieriki yola mı yoksa sadece ilkine mi eklemeliyim ?
ghostagent151

1
@ ghostagent151 ekran görüntüsüne göre sadece sonuncusu "Prettier: Prettier Path".
donovan

İşte gördüğüm başka bir konu. Prettier uzantısını vs koduna indirirsem ayarlarımın ayarlanması gerekir, böylece kaydettiğinde otomatik olarak koduma daha güzel uygulanır. Ancak, güzelliğin iki farklı versiyonu uygulanmış gibi görünüyor. npm run prettierÖrneğin, komut satırından çalıştırdığımda , çift tırnaklı dizeleri olan değişkenler tek tırnaklara dönüştürülür. Kaydedersem ve otomatik biçim uygulanırsa, çift tırnaklara dönüştürülürler. Bununla ne olduğundan emin değilim.
19:39

1
@ ghostagent151 Bu farklı bir konudur. Koşu npm run prettier, projede node_modulesvarsa projenizdeki yerel güzelliği kullanır package.json. Benim tavsiyem, formatOnSaveprojeniz için özel biçimlendirme kuralları kullanacaksanız VS Kodunu kapatmanızdır . Biçimin üzerine yazılmasını önlemek için.
Tunji Oyeniran

1
Global olarak kurulmuş modüllerinize giden yolunuz yalnızca işletim sistemine değil npm'i nasıl kurduğunuza (yani nvm, vb.) Bağlı olarak değişecektir. Yolu elde etmenin kolay bir yolu npm root -g
koşmaktır

2

Güncelleme

Şimdi prettier-vscode4.1.1 ve prettier2.0.4 ile benim için çalışıyor , bir deneyin. Paketin yerel olarak kurulu veya yerel sürümlerini kullanabilirim.

Dikkate değer değişiklikler :

  • [4.0.0] 2.0'dan daha güzel güncellendi
  • [4.1.0] Düğüm_modülleri klasöründeki dosyaların işlenmesini sağlamak için Düğüm Modülleri ile yapılandırma seçeneği eklendi [varsayılan: yanlış]
  • [4.1.0] Bir pakette doğrudan bağımlılık olarak görünmese bile node_modules'den daha güzel yükleme desteği.

Orijinal yayın

Harici bir paketin kaynak kodunu incelerken bu sorunla karşılaştım node_modules.

Geçici çözüm, bu paketin prettiergirdisini kaldırmaktır; package.jsonyerel / genel prettieryükleme gerekmez. Örnek :

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

Tutun package.jsongeçerli - Sonuna eklenmiş virgül, sadece satırını açıklama yoktur. Çalışmasının nedeni:

Uzantı, bir package.json dosyasını dosyalayana kadar ağacı arar. Bu package.json daha güzel içeriyorsa, uzantı bunu kullanır, aksi takdirde paketlenmiş daha güzel sürümünü kullanmaya geri döner. bağlantı

Benim tahminim, uzantı prettier, paket olsa bile kullanmak istiyor devDependencies.

devDependencyBir paketin içine bırakılmasının bir zararı olmamalıdır node_modules. Bu, prettierbirlikte verilen sürümü de kullanmanızı sağlar prettier-vscode(kurulum gerektirmez).


1

Ben sadece bu koştu ve benim package.json dosyasında bir sözdizimi hatası olduğunu keşfetti. Bir satırda sondaki virgül vardı ve bu sadece benim için temel sebep gibi görünüyordu.

Bunu fark ettim çünkü bazı Açısal testleri çalıştırmaya çalışırken aşağıdaki çıktıyı gördüm:

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

Prettier'i ayarlarken proje başına yapılandırmak önemlidir. Her proje aynı kod stilini kullanmaz, bu nedenle şu anda çalıştığınız projenin stiline saygı duymak önemlidir.

Demo repo bahmutov/prettier-config-example, her biri farklı kod stiline sahip Prettier tarafından uygulanan iki alt klasöre sahiptir. Gerçekte, her deponuzun tarzı olacak; Örneği basit tutmak için alt klasörler kullanıyorum.

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


1

Burada sağlanan tüm çözümleri denedim, yardımcı olmadı. Visual Studio Code'un güncellenmesi bu sorunu çözdü.


0

npm installGlobal olarak yaparak bu sorun düzeltildi .

Temizlediğimde bu sorunu yaşadım node_nodules. Ben eslintküresel yüklü güzel ile birlikte vardı . Ve sildiğimde node_modulesbu hata gösterildi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.