在Windows中安装NPM、Angular和TypeScript的自定义路径

amrnrhlw  于 2023-08-06  发布在  Windows
关注(0)|答案(2)|浏览(117)

如何在Windows中禁止NPM和Angular使用文件夹C:\Users\XXXXXX\AppData\Roaming\npm?
我想在另一个磁盘上全局安装Node.Js和Angular(参数为NPM i --prefix D:\MyFolder -g)。然后我添加路径到NPM,Angular和Typescript到系统变量PATH

D:\nodejs\
D:\TypeScript\node_modules\.bin\
D:\Angular\node_modules\.bin\

字符串
我所有的项目都在这个环境下正常工作,但是今天我意外地看到了消息

npm ls -g @angular/cli
C:\Users\XXXXXX\AppData\Roaming\npm
`-- (empty)


但是,Angular仍然存在于我的全局文件夹中

D:\Angular\node_modules\.bin>npm ls @angular/cli
Angular@ D:\Angular
`-- @angular/cli@15.1.4


不幸的是,目前我的全局环境完全忽略了我的Node.js,Angular和Typescript,尽管我的PATH变量和当前环境只使用默认文件夹C:\Users\XXXXXX\AppData\Roaming\npm。如何修复此问题并强制Windows使用PATH变量和我的全局安装引擎?出什么事了?一切都很顺利,我在我的全球环境中做了一些项目,但今天我的电脑里缺少了全球TNS和Angular。

bq9c1y66

bq9c1y661#

不知道如何禁止使用文件夹,但我会尝试重新安装它。
首先,卸载之前安装的所有全局软件包:第一个月
第二,从他们的网站下载Node.js并安装在不同的磁盘上,如D:\nodejs。请确保在安装过程中全局安装npm。
3 -在Powershell中以管理员身份运行npm config set prefix D:\MyFolder来设置npm全局安装前缀。
使用npm i -g @angular/cli typescript在新位置安装Angular和Typescript globaly。
5 -通过添加以下路径(用分号分隔)更新PATH变量:D:\MyFolder;D:\TypeScript\node_modules\.bin;D:\Angular\node_modules\.bin
最后,关闭并重新打开命令提示符,并检查是否有效:

npm -v
ng --version
tsc --version

字符串

ddhy6vgd

ddhy6vgd2#

谢谢@弥迦,但最终我找到了另一个解决办法。安装Node.JS的主要故障是安装程序未更改Node.JS的配置文件
因此,尽管我将Node.JS安装到了我的自定义目录,Node.js安装程序还是忽略了这一点,并且写入到节点配置文件的操作与我的工作环境配置文件完全没有关系

prefix=$(APPDATA)\npm

字符串
这是蚂蚁问题的一个关键。在此之后,任何尝试安装带有--前缀的Angular或Typescript的操作都只会导致在绝对错误的位置覆盖Node.JS配置。
因此,您可以通过命令查看Node.JS配置

npm config ls -l
 ...
 ; "builtin" config from D:\nodejs\node_modules\npm\npmrc
 ; prefix = "C:\\Users\\XXXXX\\AppData\\Roaming\\npm" ; overridden by user
 ; "user" config from C:\Users\XXXXX\.npmrc


我的解决方案将D:\nodejs\节点模块\npm\npmrc和D:\nodejs\节点模块\npm.npmrc以及C:\Users\XXXXX.npmrc写入同一行

prefix=D:\nodejs


之后,所有的计算机都有一个配置,然后我们可以安装Angular 和打字脚本到自定义的地方

npm i -g @angular/cli --prefix D:\Angular
 npm i -g --prefix D:\TypeScript typescript --save-dev


我还添加了PATH变量

D:\nodejs\
 D:\TypeScript\node_modules\.bin
 D:\Angular\node_modules\.bin\


之后一切又恢复正常了
x1c 0d1x的数据
但我还是不明白屏幕上的这一行

Angular: undefined


也许这是因为我以前的项目,我做的Angular 15,但目前的版本是16

相关问题