无法通过 npm 全局卸载 typescript

Posted

技术标签:

【中文标题】无法通过 npm 全局卸载 typescript【英文标题】:Unable to uninstall typescript globally through npm 【发布时间】:2018-03-10 23:33:06 【问题描述】:

我已经在我的系统上全局安装了 typescript 2.4.1(tsc -v 给了我 2.4.1 版本)。我想卸载它,因为我想转至版本 2.3.4 以使我的一些 e2e 测试正常工作。但是现在我无法卸载它。我尝试通过 npm 卸载

npm uninstall -g tsc

但是当我运行命令后运行

tsc -v 

它再次向我展示了

version  2.4.1.

我已经搜索了这个问题并找到了一些解决方案

uninstalling typescript without node 和 npm installing old versions of (typescript compiler) package 但我已经尝试了所有,即尝试查找是否在已安装的程序中但找不到它。 然后进入

C:\Program Files (x86)\Microsoft SDKs\TypeScript

手动删除文件夹,但有 2.3 版本,而不是 2.4.1,它显示在命令提示符中。

任何帮助我如何摆脱 typescript 2.4.1。 ?

【问题讨论】:

npm uninstall -g typescript 请检查这个答案***.com/a/44079091/928435 【参考方案1】:

对于 Linux:

如果 npm 卸载不起作用 - 请使用 sudo 尝试此命令。这是我的出路

sudo npm uninstall -g typescript

sudo npm uninstall -g tsc

【讨论】:

【参考方案2】:

请输入:

npm uninstall -g typescript

而不是

npm uninstall -g tsc

这应该可以解决您的问题! :)

【讨论】:

它没有解决问题。打字稿还在。使用tsc -v,它返回的版本为3.8.3【参考方案3】:

Windows 版 由于 Microsoft SDK,您的计算机上可能安装了旧的 TypeScript:

cmd>tsc --version
Version 1.0.3.0

如果您检查PATH 环境变量,您可能会发现这样的条目:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\

在我的情况下,“TypeScript Tools for Microsoft Visual Studio 2015”的卸载并没有从该路径中删除 tsc.exe 等,可能是因为它是作为 Windows 10 SDK 或其他东西的一部分安装的。

如果您使用 Node 版本管理器,您可以从 PATH 环境变量中删除条目,或者至少将其移动到 Node.js(可能是 C:\Program Files\nodejs)或 nvm(如 C:\Users\<username>\AppData\Roaming\nvm)的条目下方。这将防止对 tsc 的调用运行古老的 TypeScript 编译器:

cmd>tsc --version
Version 3.1.3

更改环境变量后不要忘记重新启动命令行以使其生效!

如果您不确定tsc 命令实际运行的二进制文件,请使用where 命令找出:

cmd>where tsc
C:\Program Files\nodejs\tsc
C:\Program Files\nodejs\tsc.cmd
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.exe
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.js

优先级是从上到下。在我的案例中,第一个条目是(Linux)shell 脚本,通常在 Windows 上无法执行。第二个条目是一个 Windows 批处理脚本,这是将要执行的一个。它基本上调用了 Node.js(简化版):

node.exe node_modules\typescript\bin\tsc

您现在可以从“程序和功能”的“控制面板”中卸载“TypeScript Tools for Microsoft Visual Studio 2015”。就我而言,它是随 Visual Studio 2015 自动安装的。

适用于 UBUNUT

卸载节点打字稿 要从终端中运行的 Ubuntu 16.04 (Xenial Xerus) 中仅卸载 node-typescript:

sudo apt-get remove node-typescript

卸载 node-typescript 和依赖包 卸载 node-typescript 包和 Ubuntu Xenial 不再需要的任何其他依赖包。

sudo apt-get remove --auto-remove node-typescript

删除节点打字稿 如果您还想从 Ubuntu Xenial 清除节点打字稿设置和/或数据,请使用以下命令:

sudo apt-get purge node-typescript

要清除节点打字稿设置和/或数据文件及其 Ubuntu Xenial 依赖包,请运行:

sudo apt-get purge --auto-remove node-typescript

更多关于 apt-get remove 的信息

Advanced Package Tool (APT) 是一个免费的软件用户界面,它与核心库一起处理 Debian、Ubuntu 和其他 Linux 发行版上的软件安装和删除。 APT 通过从预编译文件或编译源代码自动检索、配置和安装软件包,简化了在类 Unix 计算机系统上管理软件的过程。

apt-get 是用于处理包的命令行工具,可被视为使用 APT 库的其他工具的后端用户。

apt-get remove 与 install 相同,只是软件包被删除而不是安装。请注意,删除软件包会将其配置文件保留在系统上。如果加号附加到包名称(中间没有空格),则将安装而不是删除标识的包。

【讨论】:

他正在从 windows 平台上删除 TypeScript,而不是 ubuntu

以上是关于无法通过 npm 全局卸载 typescript的主要内容,如果未能解决你的问题,请参考以下文章

npm全局模块卸载及默认安装目录修改

NPM包的安装及卸载

npm学习之如何安装全局包更新全局安装的包卸载全局安装的包

npm 全局安装模块,出现XXX不是内部或外部命令解决方法

sh 笔记:配合Vue.js配置Webpack -9。检查npm全局安装的包,卸载

Homebrew npm install:无法符号链接