Javascript 有没有办法在TypeScript 2+;中全局添加类型定义;?

Javascript 有没有办法在TypeScript 2+;中全局添加类型定义;?,javascript,node.js,ubuntu,typescript,definitelytyped,Javascript,Node.js,Ubuntu,Typescript,Definitelytyped,我有一堆简单的.ts文件非项目(即独立的.ts脚本)。 它们使用一些node.js功能。 类型脚本和节点类型定义是通过 npm install -g typescript npm install -g @types/node 问题:在windows上,我可以毫无问题地运行tsc foo.ts。它可以将.ts传输到.js。 但在Ubuntu16.04上,它给了我错误TS2304:找不到名称“require”,错误TS2304:找不到名称“process”等等。 即使将//添加到foo.ts的顶部

我有一堆简单的
.ts
文件非项目(即独立的.ts脚本)。 它们使用一些node.js功能。 类型脚本和节点类型定义是通过

npm install -g typescript
npm install -g @types/node
问题:在windows上,我可以毫无问题地运行
tsc foo.ts
。它可以将.ts传输到.js。 但在Ubuntu16.04上,它给了我
错误TS2304:找不到名称“require”
错误TS2304:找不到名称“process”
等等。 即使将
//
添加到
foo.ts
的顶部或添加
--类型节点
切换到tsc I get
错误TS2688:找不到“节点”的类型定义文件

看起来在Windows中全局安装某些类型很好,但在Ubuntu上却不行,所以我假设这不是设计的。
那么,有没有一种方法可以在全球范围内安装它们?或者更准确地说:在Ubuntu上引用全局安装的类型定义?

我找到了解决方案。我必须手动指定
typeroot
,路径指向安装了npm的全局包。 类似这样:
tsc--typeroot/usr/lib/node_modules/@types
(您可以通过
npm root-g
获得系统的路径)

仍然不确定为什么它在Windows上没有任何特殊的工作就查找它们,而在Ubuntu上没有。无法判断它是否是一个bug,以及它是否在哪个版本中