操作系统?
Linux (Amazon Linux AMI)
版本。
angular-cli: 1.0.0-beta.22-1
node: 6.6.0
os: linux x64
重现步骤。
我最近安装了 PouchDB:
npm i pouchdb --save
npm i @types/pouchdb --save-dev
我在typings.d.ts中添加了这个:
declare module 'PouchDB';
现在我在我的服务中导入 PouchDB:
import * as PouchDB from 'PouchDB';
嗯,我的笔记本电脑 (MacOS Sierra) 一切正常; ngserve
、ngbuild
没有问题,PouchDB 运行良好。
但是...我的服务器 (Amazon Linux AMI) 中的情况不一样...😐
我在尝试执行 ng build
时遇到下一个错误:
ERROR in ./src/app/pictures.service.ts
Module not found: Error: Can't resolve 'PouchDB' in '/home/aral/project/src/app'
@ ./src/app/pictures.service.ts 11:0-35
@ ./src/app/app.module.ts
@ ./src/app/index.ts
@ ./src/main.ts
@ multi main
我的 Angular-cli 版本和 Node 版本与我的笔记本电脑相同...😧
我比较了在我的笔记本电脑和服务器上执行 tree
命令,并且两者都有相同的文件。 (node_modules
中的一些子依赖项除外)。
谢谢!
GitHub 中报告的问题:https://github.com/angular/angular-cli/issues/3698
最佳答案
我在笔记本电脑中使用 Mac,这就是为什么在我的笔记本电脑中没有此问题的原因:因为 Mac 主文件系统不区分大小写。 Linux 就没有那么宽容了。因此,从 PouchDB 导入时,系统会查找名为 PouchDB 的 node_modules,但它实际上名为 pouchdb(小写)。
关于Angular-cli:找不到模块:错误:无法解析 'PouchDB',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41280031/