Pokazywanie postów oznaczonych etykietą npm. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą npm. Pokaż wszystkie posty

piątek, 30 sierpnia 2024

npm error LRUCache is not a constructor

When I updated my npm and node versions on my PC for over few years and try to insall/unistall anything on my PC I get error: "npm error LRUCache is not a constructor"

Then I have found this blogpost how to solve the probmem:
https://forums.gentoo.org/viewtopic-t-1170095-start-0.html

In my situation it was go to: C:\Program Files\nodejs\node_modules\npm\node_modules\cacache\lib\memoization.js and remove brackets:

const { LRUCache } = require('lru-cache')

change to:

const LRUCache = require('lru-cache')



Image show messages from console before and after the change:


czwartek, 17 marca 2016

Node.js

Ost. czasy bardzo popularnym językiem jest javascript. Ten język istnieje od dosyć dawna, jednak przez wiele lat traktowny był "po macoszemu". Ost. kilka lat, to jednak zdecydowany "boom" na ten konkretny język. Ilość bibliotek i frameworków jaka powstaje jest wprost niesamowita.
Javascript przez wiele lat kojarzony był głównie z frontendem, czyli tą częścią strony www, która wykonuje się bezpośrednio w przeglądarce internetowej. Teraz jednak javascript dorobił się porządnego rozwiązania serwerowego, zgodnie z ideologią "jeden język programowania - wszędzie". Typ rozwiązaniem serwerowym jest Node.js

Krótki wpis, co to jest npm (node package manager), jak i samo nodejs można znaleźć na blogu Gutka link, więc nie będę się tutaj powtarzał, szczególnie, że Gutek opisał to fajnie, zgrabnie itp (ohy i ahy).

Ja z mojej strony polecił bym zacząć się z tym bawić, od robienia tutoriali z nodeschool.io/.Samemu skończyłem już część Core-ową i aktualnie robię wersję rozszerzoną i jak na razie mi się to podoba. A, że warto spróbować i dać nodejs szansę, to warto spojrzeć choćby na przykładowy serwer wystawiający json-y, jaki można postawić z wykorzystaniem biblioteki "express".

var portNumber = process.argv[2];
var url = require('url');
var express = require('express');
var app = express();

app.get('/api/parsetime', function(req, res){
  var parsedUrl = url.parse(req.url, true);
  var date = new Date(parsedUrl.query.iso);

  res.json({ hour: date.getHours(), minute: date.getMinutes(), second: date.getSeconds()  })
});
app.get('/api/unixtime', function(req, res){
  var parsedUrl = url.parse(req.url, true);
  var date = new Date(parsedUrl.query.iso);

  res.json({ unixtime: date.getTime() })
});

app.listen(portNumber);

Wygląda znajomo?
Prawie, jak w we wspaniałym nancyfx.org.
Dodatkowo, fajnie rzeczy można wyczarować operując na strumieniach danych (nieco inaczej się operuje niż w c#) oraz tworzyć z nich "wężyki" Method chaining.

Całkiem interesująca technologia.