Не удается найти модуль «@ angular / core».Не удается найти модуль 'rxjs' - PullRequest
0 голосов
/ 15 мая 2018

Среда:

ОС: Linux Mint 18 Cinnamon 64-bit
NPM: 5.6.0
Узел: v10.0.0
Ионный: 3.20.0

Как я получаю эту ошибку

Я следовал этому руководству , чтобы применить firebase к ионному проекту с использованием angularfire2.Я в точности следую инструкциям, пока не получу сообщение об ошибке при запуске

$ ionic serve

Полная ошибка выглядит примерно так:

typescript: home/brian/node_modules/angularfire2/angularfire2.d.ts, line: 1 
Cannot find module '@angular/core'. 

L1:  import { InjectionToken, NgZone } from '@angular/core';
L2:  import { Observable, Subscription } from 'rxjs';

typescript: home/brian/node_modules/angularfire2/angularfire2.d.ts, line: 2 
Cannot find module 'rxjs'. 

L1:  import { InjectionToken, NgZone } from '@angular/core';
L2:  import { Observable, Subscription } from 'rxjs';
L3:  import { FirebaseOptions, FirebaseAppConfig } from '@firebase/app-types';

typescript: home/brian/node_modules/angularfire2/auth/auth.d.ts, line: 3 
Cannot find module '@angular/core'. 

L2:  import { FirebaseOptions, FirebaseAppConfig } from '@firebase/app-types';
L3:  import { NgZone } from '@angular/core';
L4:  import { Observable } from 'rxjs';

typescript: home/brian/node_modules/angularfire2/auth/auth.d.ts, line: 4 
Cannot find module 'rxjs'. 

L3:  import { NgZone } from '@angular/core';
L4:  import { Observable } from 'rxjs';
L5:  export declare class AngularFireAuth {

typescript: home/brian/node_modules/angularfire2/firebase.app.module.d.ts, line: 1 
Cannot find module '@angular/core'. 

L1:  import { InjectionToken } from '@angular/core';
L2:  import { FirebaseApp as _FirebaseApp, FirebaseOptions, FirebaseAppConfig } from '@firebase/app-types';

Traceback

Отслеживание, когда я былУстанавливая angularfire2 через командную строку, я запускаю эту команду (, следуя документации )

npm install firebase angularfire2 --save

И она возвращает это:

npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning EAI_AGAIN: request to https://registry.npmjs.org/firebase failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
npm WARN registry Using stale package data from https://registry.npmjs.org/ due to a request error during revalidation.
npm WARN angularfire2@5.0.0-rc.7 requires a peer of @angular/common@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.7 requires a peer of @angular/core@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.7 requires a peer of @angular/platform-browser@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.7 requires a peer of @angular/platform-browser-dynamic@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.7 requires a peer of @firebase/app@^0.1.6 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.7 requires a peer of rxjs@^5.5.4 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.7 requires a peer of zone.js@^0.8.0 but none is installed. You must install peer dependencies yourself.
npm WARN bin@1.0.0 No description
npm WARN bin@1.0.0 No repository field.

+ angularfire2@5.0.0-rc.7
+ firebase@5.0.2
updated 2 packages in 80.502s

Затем я пытаюсь запуститьснова та же команда, теперь она возвращает почти то же, что и выше, но без реестра npm WARN .

npm WARN angularfire2@5.0.0-rc.8.0 requires a peer of @angular/common@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.8.0 requires a peer of @angular/core@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.8.0 requires a peer of @angular/platform-browser@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.8.0 requires a peer of @angular/platform-browser-dynamic@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.8.0 requires a peer of rxjs@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angularfire2@5.0.0-rc.8.0 requires a peer of zone.js@^0.8.0 but none is installed. You must install peer dependencies yourself.
npm WARN bin@1.0.0 No description
npm WARN bin@1.0.0 No repository field.

Файл package.json находится в / home/ brian и содержит строки ниже.

{
  "name": "bin",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "angular": "^1.7.0",
    "angularfire2": "^5.0.0-rc.8.0",
    "cordova": "^8.0.0",
    "firebase": "^5.0.2",
    "ionic": "^3.20.0",
    "npm": "^6.0.1"
  }
}

Этот текст отображается в браузере после запуска $ ionic serve

Ionic Framework: 3.9.2
Ionic App Scripts: 3.1.9
Angular Core: 5.2.10
Angular Compiler CLI: 5.2.10
Node: 10.0.0
OS Platform: Linux 4.4
Navigator Platform: Linux x86_64
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0

Мне кажется, я установил angularfire на тот жеlocation как npm и node, потому что я запускаю все эти команды установки в моем местоположении по умолчанию при открытии командной строки.Это должно быть в / home / brian.У меня также есть эта папка /home/brian/node_modules.

Мое исследование Google, чтобы решить эту проблему

Эта похожая тема говорит, что нам нужно переименовать @angularна @ angular2, но я обнаружил, что он возвращает ту же ошибку.

Кто-нибудь когда-либо сталкивался с такой же проблемой?Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Спасибо @Pengyy, ваше предложение действительно близко, чтобы исправить это, просто нужно добавить еще один шаг.

Эта ошибка вызвана несовместимыми версиями, которые я использовал в отношении ionic - @ angular / core - firebase - angularfire2 - и rxjs.

Я решил это следующим образом: ответ @ Pengyy:

В моей домашней папке /home/brian Запустить

  1. npm install @angular/[package-name]@4.4.6
  2. npm install firebase@4.5.0 angularfire2@5.0.0-rc.3 --save
  3. npm install rxjs@5.0.1 --save

Затем необходимо сделать еще один шаг: в папке моего проекта ionic, где я запускаю ionic serve (например, имя проекта myApp, папка /home/brian/myApp), запустите эту команду.

  1. npm install firebase@4.5.0

Этот последний шаг необходим, иначе я все еще получил ошибку

Runtime Error 
Cannot find module "firebase/auth"

Эта проблема решена!

0 голосов
/ 16 мая 2018

На основании информации о версии ionic v 3.9.2 , вам необходимо установить angular V4.4.6, см. зависимости .Кстати, когда вы не объявляете точную версию, которую хотите установить, npm установит последнюю версию по умолчанию .

Вы можете использовать следующую команду:

// all angular packages listed in above dependencies 
npm install @angular/[package-name]@4.4.6

А в зависимости от версии угловых пакетов вы должны установить AngularFire2 ** v5.0.0-rc.3 ** и rxjs из v5.0.1 + (не v6.x) .

npm install firebase@4.5.0 angularfire2@5.0.0-rc.3 --save
npm install rxjs@5.0.1 --save
...