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
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ł.
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.
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.
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
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.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
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
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.
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.
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ł,
- na terminalu lub cmd - > przejdź do katalogu aplikacji,
- cd pathtoyourapp/AppName
- rerun your 'npm install'
- rerun your 'npm install express'
- rerun your 'npm install ejs'
Potem błąd został naprawiony.
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');
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:
- Uruchom "npm init" w katalogu projektu, jeśli jeszcze tego nie zrobiłeś.
- 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
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]
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": "*",
}
}
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')
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.
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.
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).
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
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.
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.
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.
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
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
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",}
**
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
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
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.
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.
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