Błąd: nie można znaleźć modułu 'ejs'

Oto mój kompletny błąd:

Error: Cannot find module 'ejs'
    at Function._resolveFilename (module.js:317:11)
    at Function._load (module.js:262:25)
    at require (module.js:346:19)
    at View.templateEngine (/Users/shamoon/local/node/lib/node_modules/express/lib/view/view.js:133:38)
    at Function.compile (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:65:17)
    at ServerResponse._render (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:414:18)
    at ServerResponse.render (/Users/shamoon/local/node/lib/node_modules/express/lib/view.js:315:17)
    at /Users/shamoon/Sites/soldhere.in/app.js:26:7
    at callbacks (/Users/shamoon/local/node/lib/node_modules/express/lib/router/index.js:272:11)
    at param (/Users/shamoon/local/node/lib/node_modules/express/lib/router/index.js:246:11)

Mój kod źródłowy jest również bardzo prosty:

var express = require('express');

var app = module.exports = express.createServer();

// Configuration

app.configure(function(){
  app.use(express.bodyParser());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

app.set('view engine', 'ejs');
app.set('view options', {
    layout: false
});

app.get('/', function(req, res) {
  res.render('index', {
    message : 'De groeten'
  });
});

app.listen(3000);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);

W moim folderze mam zainstalowany ejs w node_modules, który mam za pomocą npm install ejs. Więc moje pytanie brzmi:. co jest? Co robię źle, aby węzeł nie mógł znaleźć EJS, gdy wyraźnie go zainstalowałem?

Dzięki

Author: Shamoon, 2011-10-13

29 answers

Miałem dokładnie ten sam problem kilka dni temu i nie mogłem tego rozgryźć. Nie udało się naprawić problemu poprawnie, ale działa to jako tymczasowe rozwiązanie:

Idź w górę o jeden poziom (powyżej app.js) i do npm install ejs. Utworzy nowy folder node_modules i Express powinien wtedy znaleźć moduł.

 150
Author: evilcelery,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-13 14:37:17

Zainstaluj express lokalnie

(npm install express podczas gdy w głównym katalogu projektu)


Twój projekt zależy od express i ejs, więc powinieneś wymienić je jako zależności w swoim package.json.

W ten sposób, gdy uruchomisz npm install w katalogu projektu, zainstaluje on zarówno express, jak i ejs, tak że var express = require('express') będzie lokalną instalacją express (która wie o module ejs, który zainstalowałeś lokalnie), a nie globalną, która Nie.

Ogólnie dobrym pomysłem jest jawna lista wszystkich zależności w package.json, nawet jeśli niektóre z nich mogą być już zainstalowane globalnie, więc nie masz tego typu problemów.

 22
Author: Will,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Miałem ten sam problem. Po ustawieniu zmiennej środowiskowej node_path do lokalizacji moich modułów (/usr/local/node-v0.8.4 / node_modules w moim przypadku) problem zniknął. P. S. NODE_PATH akceptuje oddzieloną dwukropkami listę katalogów, jeśli trzeba podać więcej niż jeden.

 9
Author: Pete,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-20 20:19:01

W moim przypadku, właśnie dodałem ejs ręcznie w pakiecie.json :

 {
   "name": "myApp"
   "dependencies": {
     "express": "^4.12.2",
     "ejs": "^1.0.0"
   }
 }

I uruchom npm install (może być konieczne uruchomienie go za pomocą sudo ) Należy pamiętać, że ejs domyślnie wygląda na katalog widoków

 9
Author: levon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-05 18:38:27

Kiedy to samo stało się ze mną.

Zależność była dla ejs w pliku JSON, próbowałem zainstalować go lokalnie i globalnie, ale nie zadziałało.

Wtedy to co zrobiłem to ręczne dodawanie modułu przez:

app.set('view engine','ejs'); 

app.engine('ejs', require('ejs').__express);
To działa.
 6
Author: Kael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-11 12:47:09

Zainstalowałem ejs używając polecenia npm install ejs na poziomie katalogu express i to rozwiązało mój problem.

Zainstalowałem express używając wzmianki kroków w express guide http://expressjs.com/guide.html

 5
Author: Ramesh Kotkar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-17 11:55:36

Zainstaluj lokalnie, a raczej globalnie. Wtedy twój projekt może być uruchomiony na dowolnym komputerze bez żadnego błędu.Tak będzie lepiej.

npm install express --save
npm install ejs --save
 4
Author: Chanaka Fernando,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-15 16:22:56

Miałem taki problem. Debugowałem za pomocą node-inspector i zobaczyłem, że z folderu node_modules, w którym znajdowały się pliki źródłowe express, ejs nie został zainstalowany. Więc zainstalowałem go tam i zadziałało.

npm install -g ejs nie umieściłem go tam, gdzie oczekiwałem, pomimo ustawienia node_path do tego samego folderu node_modules. Prob robi to źle, właśnie zaczął od node.

 3
Author: Typo Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-06 23:23:16

Zainstalowałem zarówno: express jak i ejs z opcją --save:

Npm install ejs --save npm install express --save

W ten sposób express i ejs są pakietami zależnymi.plik json.

 3
Author: colo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-18 00:38:33

Reinstalacja npm, express i ejs naprawiła mój problem

Ten dla mnie zadziałał,

  1. na terminalu lub cmd - > przejdź do katalogu aplikacji,
  2. cd pathtoyourapp/AppName
  3. rerun your 'npm install'
  4. rerun your 'npm install express'
  5. rerun your 'npm install ejs'

Potem błąd został naprawiony.

 3
Author: apelidoko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-10 06:45:38

Po zainstalowaniu Express V x. x. x Musisz wybrać silnik widoku szablonu. Istnieje wiele naprawdę łatwych do nauczenia. Mój osobisty kontakt to EJS .

Inne naprawdę świetne i łatwe do nauczenia mogą być:

Aby zainstalować EJS (i naprawić swój błąd) Uruchom w katalogu głównym projektu:

npm install ejs

Lub jeśli używasz przędzy:

yarn add ejs

Następnie musisz wymagać modułu, więc otwórz Twój plik, w którym potrzebujesz express (Zwykle app.js lub serwer.js)

Dodaj poniżej var express = require('express');

var ejs = require('ejs');
 3
Author: Timm Jensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-20 07:34:49

Miałem ten sam problem. Więc zrobiłem następujące i to działało dla mnie.

Rozwiązanie:

  1. Uruchom "npm init" w katalogu projektu, jeśli jeszcze tego nie zrobiłeś.
  2. Zainstaluj ejs i express w następujący sposób:

Npm install ejs --save
npm install express --save

W ten sposób tworzy wymagane zależności w pakiecie.plik json

 3
Author: Hemanta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-08 19:33:26

Krok 1

Zobacz npm ls | grep ejs na poziomie głównym Twojego projektu, aby sprawdzić, czy już dodałeś ejs dependency do twojego projektu.

Jeśli nie, dodaj go jako dependencies do swojego projektu. (wolę dodać zależność do package.json zamiast npm install w module.)

Np.

{                                                                                                      
  "name": "musicpedia",                                                                                
  "version": "0.0.0",                                                                                  
  "private": true,                                                                                     
  "scripts": {                                                                                         
    "start": "node ./bin/www"                                                                          
  },                                                                                                   
  "dependencies": {                                                                                    
    "body-parser": "~1.15.1",                                                                          
    "cookie-parser": "~1.4.3",                                                                         
    "debug": "~2.2.0",                                                                                 
    "express": "~4.13.4",                                                                              
    "jade": "~1.11.0",                                                                                 
    "ejs": "^1.0.0",                                                                                                                                                            
    "morgan": "~1.7.0",                                                                                
    "serve-favicon": "~2.3.0"                                                                          
  }                                                                                                    
}   

Krok 2 Pobierz zależności

npm install

Krok 3 Sprawdź moduł ejs

$ npm ls | grep ejs
[email protected] /Users/prayagupd/nodejs-fkers/musicpedia
├── [email protected]
 2
Author: prayagupd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-13 04:52:03

Dodaj zależność w package.json a następnie uruchom npm install

    {
  ...
  ... 
  "dependencies": {
    "express": "*",
    "ejs": "*",
  }
}
 2
Author: marwari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-12 11:34:34

Myślę, że silnik szablonu ejs nie jest prawidłowo zainstalowany na Twojej maszynie. Po prostu zainstaluj silnik szablonu używając npm

npm install ejs --save

Następnie dołącz następujący kod w aplikacji.js

app.set('view engine', 'ejs')
 2
Author: Codemaker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-28 13:32:50

Mam ten sam problem, który rozwiązał po zainstalowaniu express W moim katalogu projektu. poprzednio instalowałem go w global scope z opcją-g z poleceniem npm install.

 1
Author: Mohit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-07 14:47:44

W moim przypadku nie było głupiego błędu składni, ale pojawił się ten sam błąd. Zainstalowałem ejs i ejs-mate na całym świecie. Zainstalowałem go lokalnie i znalazłem mój błąd rozwiązany.

 1
Author: Abhishek Srivastava,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-16 19:34:18

Uprzejmie upewnij się, że Twoje zależności w pakiecie.pliki json są aktualne. Spróbuj ponownie zainstalować je pojedynczo po upewnieniu się, że NPM jest najnowszą wersją (aktualną). U mnie zadziałało. Radzę uruchomić npm install dla pakietów(to działało w moim przypadku po tym, jak odmówiło działania, ponieważ dodałem zależności ręcznie).

 1
Author: douglas egiemeh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-02 00:45:56

W moim przypadku to był głupi błąd - to była literówka w middleware. Napisałem app.set('view engine', 'ejs.'); kropka spowodowała błąd. Zainstalowałem ejs i express lokalnie

 1
Author: Surajit Mukherjee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-29 11:24:33

Upewnij się, że wszystkie zależności są zainstalowane. npm install

Robiłem dla siebie szybką aplikację i zapomniałem dodać express. Wyrzucił powyższy błąd.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-23 14:40:14

I face same error for ejs, then I just run node install ejs Spowoduje to ponowną instalację ejs.

A następnie uruchom również npm install, aby ponownie zainstalować node_modules. To dla mnie praca.

 1
Author: akshay_sushir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-19 17:07:27

Napotkałem ten problem po tym, jak zapomniałem zainstalować ejs przed pierwszym uruchomieniem aplikacji. Z jakiegoś powodu ejs nie był widoczny po zainstalowaniu go później. Znalazłem szybkie, czyste i skuteczne rozwiązanie tego problemu, które polegało na ponownej instalacji express przez uruchomienie npm uninstall express, a następnie npm install express w katalogu lokalnym przed ponownym uruchomieniem serwera.

 1
Author: Duncan Jairo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-25 21:56:17
app.set('view engine', 'ejs')

A następnie w Terminalu

npm install ejs --save 

Rozwiązuje problem

 0
Author: Homam Bahrani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-21 22:37:57

W moim przypadku, po prostu odinstalować następnie zainstalować ejs ponownie.

npm uninstall ejs

Then

npm install ejs
 0
Author: Ian Natividad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-29 09:17:53

npm install ejs --save zadziałało na mnie !

Na goormIDE miałem taką konfigurację pliku:

  • pojemnik
    • main.js
    • package-lock.json
    • pakiet.json
    • node_modules
    • views
      • do domu.ejs

W moim głównym.plik js, też miałem taką trasę

app.get("/", function(req, res){
res.render("home.ejs");
})

npm install ejs -g nie dodała odpowiedniej zależności w pakiecie.json. Tak. Wykonałem rozkaz wiersz z katalogu kontenera. Ręcznie mógł zostać dodany do pakietu.json z : **

"dependencies": {
    "ejs": "^3.0.2",}

**

 0
Author: Tristan Bochu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-11 09:36:54

npm i ejs --force

To zadziałało dla mnie

 0
Author: Hytham Defrawy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-09 23:07:57

Instalacja express lokalnie rozwiązała mój problem. npm i express --save

 0
Author: Shekhar Karna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-17 15:07:47

Miałem ten sam problem i wypróbowałem kilka podanych rozwiązań, ale nadal nie działało. wszystko, co zrobiłem, to uruchomić polecenie" NPX yarn " w folderze głównym mojego projektu i to wszystko.

 0
Author: AWESOME WORLD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-09-23 09:26:29

Błąd uderzył mnie, gdy pracowałem nad goormIDE. Dzieje się tak w zasadzie, gdy pakiety węzłów nie znajdują się w uruchomionym pliku. Miejsce, w którym app.js lub do domu.js jest stracony.

 -1
Author: ntk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-29 15:36:13