无法从 <路径> 但 tsc -v 日志中找到模块“打字稿”

Posted

技术标签:

【中文标题】无法从 <路径> 但 tsc -v 日志中找到模块“打字稿”【英文标题】:Cannot find module 'typescript' from <Path> but tsc -v logs 【发布时间】:2018-04-22 20:18:44 【问题描述】:

我有一个使用nrwl/nx 的project,我在家用计算机(Windows)上启动了工作区(morningharwood)和一个应用程序(组合)。在移动中,我现在克隆了 repo,yarn install deps 并尝试在我的 mac 上运行。不幸的是,在运行 node_modules/.bin/ng serve --app=portfolio 时,我收到一个错误,即在本地和全球范围内 Cannot find module 'typescript' from '/Users/m/projects' 我安装了 typescript:

问题:为什么我的项目找不到打字稿;如何在我的 Mac 上运行我的项目?

m@mac: ~/projects/ on feature/prerender [?]
$ tsc -v
Version 2.6.1

m@mac: ~/projects/morningharwood/platform on feature/prerender [?]
$ node_modules/.bin/ng serve --app=portfolio

Cannot find module 'typescript' from '/Users/m/projects'
Error: Cannot find module 'typescript' from '/Users/m/projects'
    at Function.module.exports [as sync] (/Users/m/projects/morningharwood/platform/node_modules/resolve/lib/sync.js:40:15)
    at Object.requireProjectModule (/Users/m/projects/morningharwood/platform/node_modules/@angular/cli/utilities/require-project-module.js:6:28)
    at Object.readTsconfig (/Users/m/projects/morningharwood/platform/node_modules/@angular/cli/utilities/read-tsconfig.js:6:48)
    at new NgCliWebpackConfig (/Users/mharwood/projects/morningharwood/platform/node_modules/@angular/cli/models/webpack-config.js:19:42)
    at Class.run (/Users/m/projects/morningharwood/platform/node_modules/@angular/cli/tasks/serve.js:71:29)
    at check_port_1.checkPort.then.port (/Users/m/projects/morningharwood/platform/node_modules/@angular/cli/commands/serve.js:123:26)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
m@mac: ~/projects/morningharwood/platform on feature/prerender [?]

package.json

"devDependencies": 
  "ts-node": "^3.3.0",
  "tsconfig-paths": "^2.3.0",
  "tslint": "~5.3.2",
  "typescript": "2.4.2", 

【问题讨论】:

package.json 在您的应用程序中的位置是什么?您应该从创建 node_modules 文件夹的位置运行 ng serve。 你试过用ng serve --app=portfolio代替完整路径 @Niladri 是的,同样的问题。 【参考方案1】:

这个问题已经被问题 109 解决了 https://github.com/nrwl/nx/issues/109

这里是你如何纠正它:

问题是因为 .angular-cli.json 中的 root 属性设置为 "root": "apps\portfolio\src",如果你把它改成 应用程序/组合/ src,它会工作。我会解决的。

应在 nrwl 的未来版本中更正。

【讨论】:

以上是关于无法从 <路径> 但 tsc -v 日志中找到模块“打字稿”的主要内容,如果未能解决你的问题,请参考以下文章

tsc - 不编译别名路径

<td> 内的 Img 路径显示但无法单击它

tsc : 无法将“tsc”项识别为 cmdlet函数脚本文件或可运行程序的名称

tsc : 无法将“tsc”项识别为 cmdlet函数脚本文件或可运行程序的名称

TypeScript 安装/版本错误:无法识别术语“tsc”

如何在 TSC 打印机中打印图像