繁体   English   中英

NPM无法安装类型

[英]NPM fails to install types

我有一个npm install的问题,因为它不会安装@types。

这很好用

npm install --save lodash

但是要求类型不是

npm install --save @types/lodash

PS C:\Development\Temp> npm install --save @types/lodash
npm WARN `git config --get remote.origin.url` returned wrong result (git://github.com/types/lodash)
npm WARN `git config --get remote.origin.url` returned wrong result (git@github.com:types/lodash)
npm ERR! git clone git@github.com:types/lodash Cloning into bare repository 'C:\Users\myuser\AppData\Roaming\npm-cache\_git-remotes\git-github-com-types-lodash-9eb5372a'...
npm ERR! git clone git@github.com:types/lodash Host key verification failed.
npm ERR! git clone git@github.com:types/lodash fatal: Could not read from remote repository.
npm ERR! git clone git@github.com:types/lodash
npm ERR! git clone git@github.com:types/lodash Please make sure you have the correct access rights
npm ERR! git clone git@github.com:types/lodash and the repository exists.
npm ERR! addLocal Could not install types/lodash
npm ERR! Error: ENOENT: no such file or directory, stat 'C:\Development\Temp\types\lodash'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! System Windows_NT 10.0.15063
npm ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\ProgramData\\chocolatey\\lib\\npm\\tools\\node_modules\\npm\\bin\\npm-cli.js" "install" "--save" "@types/lodash"
npm ERR! cwd C:\Development\Temp
npm ERR! node -v v8.6.0
npm ERR! npm -v 1.4.9
npm ERR! path C:\Development\Temp\types\lodash
npm ERR! syscall stat
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Development\Temp\npm-debug.log
npm ERR! not ok code 0
PS C:\Development\Temp>

这让我摸不着头脑。 我已经更新了Chocolatey,NodeJS,NPM以确保他们自己的最新版本。 尝试在空文件夹或现有TypeScript项目上执行命令 - 认为在Git存储库中运行可能会感到困惑(错误:remote.origin.url)。 看看GitHub网址,git://github.com/types/lodash毫无意义

我从MSDN博客 - 声明文件的未来中获取了这些示例

更新:我已卸载Node.js并尝试重新安装v6.11.3 LTS或v8.6.0。 但是@types命令仍然失败。

更新2:我意识到Chocolately正在掩盖npm版本。 我删除了Chocolately文件夹,并根据@Louis回答升级了npm。

将你的npm版本升级到版本4或5.我提到4因为我遇到了5的问题,并且使用4仍然可行。 我不知道运行旧版本有什么好的理由。

您正在使用npm版本1.4.9,如此日志行中所示:

npm ERR! npm -v 1.4.9

问题是版本2之前的npm版本不支持作用域包 @开头的包是作用域包,因此@types/lodash是一个作用域包。 您需要npm版本2或更高版本才能安装它。 如果您要在1.x系列(1.4.29)中使用最新的npm ,您将收到更好的错误消息:

npm ERR! Error: This version of npm doesn't support scoped packages (caused by reference to @types/lodash). Update to npm@2+.

版本1.4.9甚至不知道scoped包是一个东西,所以它不能给出一个很好的错误消息。 它看起来像@符号表示包名是一个地址,并用Github作为默认主机填充缺少的信息。

我通常用来升级npm的升级命令是:

npm install -g npm

您可以通过将npm参数替换为提供特定版本号的参数来指定特定版本。 例如, npm@4将在4.x系列中安装最新的npm 如果您未指定版本号,则会获得最新发布的版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM