npm后安装types无法正常工作

我有以下packages.json:

{ "name": "shopping-assistant-angular", "version": "1.0.0", "scripts": { "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ", "tsc": "tsc", "tsc:w": "tsc -w", "lite": "lite-server", "typings": "typings", "postinstall": "typings install" }, "license": "ISC", "dependencies": { "angular2": "2.0.0-beta.7", "systemjs": "0.19.23", "es6-promise": "^3.0.2", "es6-shim": "^0.33.3", "reflect-metadata": "0.1.2", "rxjs": "5.0.0-beta.2", "zone.js": "0.5.14" }, "devDependencies": { "bower": "^1.7.7", "concurrently": "^1.0.0", "grunt": "^0.4.5", "grunt-chrome-manifest": "^0.3.0", "grunt-contrib-clean": "^1.0.0", "grunt-contrib-concat": "^0.5.1", "grunt-contrib-copy": "^0.8.2", "grunt-contrib-cssmin": "^0.14.0", "grunt-contrib-htmlmin": "^0.6.0", "grunt-contrib-uglify": "^0.11.1", "grunt-filerev": "^2.3.1", "grunt-ts": "^5.3.2", "grunt-usemin": "^3.1.1", "lite-server": "^2.0.1", "load-grunt-tasks": "^3.4.0", "typescript": "1.7.5", "typings": "^0.6.8" } } 

当我运行npm安装在我的目录中时,我得到一个错误: 'typings' is not recognized as an internal or external command, operable program or batch file.

在Angular 2快速入门指南中,他们使用以下packages.json:

 { "name": "angular2-quickstart", "version": "1.0.0", "scripts": { "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ", "tsc": "tsc", "tsc:w": "tsc -w", "lite": "lite-server", "typings": "typings", "postinstall": "typings install" }, "license": "ISC", "dependencies": { "angular2": "2.0.0-beta.7", "systemjs": "0.19.22", "es6-promise": "^3.0.2", "es6-shim": "^0.33.3", "reflect-metadata": "0.1.2", "rxjs": "5.0.0-beta.2", "zone.js": "0.5.15" }, "devDependencies": { "concurrently": "^2.0.0", "lite-server": "^2.1.0", "typescript": "^1.7.5", "typings":"^0.6.8" } } 

所有软件包完成安装后,成功运行“types安装”。

不知道为什么运行这些非常相似的packages.json文件导致完全不同的结果。

Gabe O'Leary是正确的(请参阅评论 ),首先尝试安装全局npm install typings -g如果您使用的是mac,则可能需要使用sudo命令sudo npm install typings -g

我面临同样的问题。 您需要在您的项目文件夹中添加typings.json文件。 请检查这个链接: https : //angular.io/guide/quickstart

哦,Em Gee 这个工具是如此脆弱!

 PowerShell -> OS %PATH% spec -> Node.js bin folder (which one?) -> typings.cmd -> Tools : Options : Projects and Solutions : External Web Tools -> node.js bin -> Typings JavaScript files -> PowerShell working directory (vs. project path) -> typings.json configuration -> 

请注意, npm install typings -g旨在成为“全局”安装,所以即使您希望它成为单个项目的一部分(例如,您希望能够检出并构build单个项目),那么TOO BAD ! 您必须将解决scheme签出,并使用解决scheme范围的package.json文件来获取项目工具链。

请注意,默认的Typings安装会修改Node.js二进制文件夹。 因此,如果您有多个Node.js安装(您可能至less有三个,一个安装有VS update 2,至less一个使用NuGet安装,一个或多个安装为单独的Node.js安装以克服旧版本中的缺陷可从其他两个来源获得),你的痛苦已经开始。

此外,一些开发团队通过各种MS支持文章修改了外部Web工具目录来解决这个问题,并且您的团队的一些成员安装了不同的Node.js版本等等。 。

那么,解决scheme是什么? 我个人来说,我打算将“typings install”插入到我的gulp.js“在项目启动时运行”事件中,并将其设置为针对项目特定的“types”包。 现在,我们可以检出并构build一个项目,团队中的任何人都不需要在命令行或包pipe理器控制台上运行“types安装”,但负责维护的人员除外。

这些path也可能对您有所帮助。 在机器升级过程中的不同时刻,我做了大部分的诊断, npm install typings -g typings.cmd npm install typings -gtypings.cmd文件放在不同的目录中:

  • %SolutionFolder%\包\ Node.js.5.3.0 \ typings.cmd
  • C:\用户\%USERNAME%\ AppData的\漫游\故宫\ typings.cmd

您不需要在全局安装types以使上述设置正常工作。 运行npm install ,应该在/node_modules/.bin/typings添加到/node_modules/.bin/typings二进制文件的符号链接,并且应该在将/node_modules/.bin添加到PATH环境variables的情况下运行后安装脚本。

看你的设置,但是,如果你要安装npm install --production (或者将NODE_ENV环境variables设置为production环境),types不会像devDependencies那样安装,所以你会得到错误。 这可能是你的问题的真正原因。 看看这个问题的一些build议如何解决这个问题。

我倾向于嵌套angular1和angular2解决scheme,我最终存储在Git仓库中…

当我去运行这个命令input不显示

 npm run typings install 

那不行。 然后我发现这个stackoverflow页面,并尝试

 npm install typings -g 

对于我来说,问题是在一个JOB中,我inheritance了一个.typingsrc文件,即使它.typingsrc运行npm install等文件夹中,它也必须决定在上面查找一个目录或2,所以难怪我得到了错误。

我只是重命名为old.typingsrc ,因为里面的目的是绕过代理proxy="http://proxy-chain.company.com:911"

这可能对很多人没有帮助,但我认为这可能有助于其他人有一个代理

在离子2,我面临同样的问题,在窗口10,然后我试着npm install typings -g ,安装后,我尝试typings命令和哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇
typings install dt~socket.io-client --save --global ,现在它工作。

希望这会帮助你。