之前都是在框架中使用ts,框架会帮我们自动转换,今天想系统的重新看一下ts的内容,于是在vscode中写ts并执行,按照步骤安装 typescript ts-node 等,准备用 ts-node 执行以下,结果出错了,没有tsc这个命令
这是怎么个一回事呢?
于是我各种搜索,有以下几种解决方案
- 全局安装,试过了,失败
- 局部安装在当前文件夹中,试过了失败
- powershell的策略问题,使用管理员运行等,试过了失败
我当时那个内心,就是一万匹🐎跑过,真尼玛。。。
后来突然想起来是不是因为我之前安装了nvm的原因?
我去了我nodejs的安装包下,看是否成功全局安装了tyepscript ts-node 等文件,发现我的目录有 nodejs 和 nvm两个目录
- nodejs 是我一开始配置node的目录,那个时候还没有使用 nvm(降级node用,也是踩了很多坑,有需要可以看看我的另一篇博客)
- nvm 目录是我后来安装的nvm生成的目录
终于找到原因了,不知道怎么回事全局安装的包又跑到了原来的 nodejs 目录下面(记得之前改过不知道怎么回事),而我现在使用的是 nvm 的目录,所以虽然安装了但是安装的目录错了。
解决方法
- 将npm的全局安装目录重新设置以下改成现在的nvm下面(推荐这种,我比较懒直接迁移了下面的方法)
npm config set prefix "D:\nvm\node_global"
npm config set cache "D:\nvm\node_cache"
//路径对应上面的 nvm 中的文件夹
- 将刚才按照的typescript ts-node 什么的都移动到 nvm中的 node_global里面