我的打字稿编译器有什么问题? `tsc --version` returns 没有

What's wrong with my typescript compiler? `tsc --version` returns nothing

在 Linux Mint 中,我安装了 node 并用它来安装 typescript。对于有效的打字稿安装,tsc --version 应该 return 版本号。就我而言,根本没有 returned。

当我运行 which tsc 结果是/usr/local/bin/tsc.

当我运行 cat /usr/local/bin/tsc 结果是:

#!/usr/bin/env node
require('../lib/tsc.js')

当我运行 find /usr/local -name 'tsc*' 结果是:

/usr/local/bin/tsc
/usr/local/lib/node_modules/typescript/bin/tsc
/usr/local/lib/node_modules/typescript/lib/tsc.js

看起来正确吗?如果是这样,那么关于其他要看什么的任何想法将不胜感激?

注意我也尝试了 运行ning /usr/local/lib/node_modules/typescript/bin/tsc --version 并得到了相同的结果,即什么都没有。

我发现 运行ning node --version returns 什么都没有(但不应该)但是 nodejs --version 有效(结果是 v0.10.25)。重新安装节点并没有解决这个问题。我不知道为什么会这样,因为我认为我遵循了推荐的安装程序。

但是,编辑文件 /usr/local/bin/tsc 并更改行:

#!/usr/bin/env node

#!/usr/bin/env nodejs

似乎有效。现在 tsc --version returns message TS6029: Version 1.6.2 并且我在 运行 make.

时生成了 .js 文件

在 Ubuntu 16.04 的情况下,问题是因为我执行了 sudo apt-get install node-typescript,这让我遇到了损坏的 tsc。通过 apt-get remove 删除它,然后按照 npm install -g typescript 的建议安装后,它工作正常。

也许这会对某人有所帮助。

我在 Ubuntu 16.04.6 中遇到以下错误:

  internal/modules/cjs/loader.js:638
   throw err;
   ^

Error: Cannot find module 'typescript/tsc.js'
   at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
   at Function.Module._load (internal/modules/cjs/loader.js:562:25)
   at Module.require (internal/modules/cjs/loader.js:690:17)
   at require (internal/modules/cjs/helpers.js:25:18)
   at Object.<anonymous> (/usr/bin/tsc:2:1)
   at Module._compile (internal/modules/cjs/loader.js:776:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
   at Module.load (internal/modules/cjs/loader.js:653:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
   at Function.Module._load (internal/modules/cjs/loader.js:585:3)

运行 : npm install -g typescript 没有解决问题。 所以,我必须安装最新版本的节点,即 nvm install <nvm version>

然后 npm install 解决了问题。