win10java配置环境变量msi_win10下npm/node安装与环境变量配置/npm更新

网上搜了很多文章但是感觉都不好,自己写一个:

此文仅针对win10下安装node,版本为v8.11.0;

node下载地址选择对应版本

一般选稳定版64位.msi

如果之前装过node,安装之前最好先手动删除相关环境变量,和相关node_modules文件夹。

下载后的安装包首先取得管理员所有权

网上很多教程都会全部点下一步,其实新版node似乎?是自带配置PATH功能的:

自己选路径,我选的是D:\nodejs\

安装时选Add to Path

ae7350a36322ca1f20cff873339397e4.png

然后各种下一步,直至finish.

完成之后,我们查看环境变量:

控制面板>系统>高级系统设置>环境变量>

就能发现他已经帮我们配置好了?环境变量..

b2c07561b349bff282dcb18d67a1e3a3.png

80c8a5bf779116c04a410644b1b564a7.png

其中后者是设置在roaming的,貌似是如果和其他用户公用设备会产生一些问题,不太懂,相关可以阅读npm官方文档。

这里我就开始很疑惑了,网上找的配置node环境变量的文章,为什么都是配一个node_global或者node_modules的东西?而没有这个npm的东西。

而当用npm install一些包之后,有全局安装和本地安装,那么nodejs下有node_modules,appdata下也有node_modules,两者有什么区别呢?还需要做什么配置吗?

鉴于msi安装时的配置,一个是系统的环境变量,一个是当前用户(我是administrator),

环境变量的有两种,一种是系统环境变量,另一种是用户环境变量。系统环境变量的设定对所有用户都起作用,而用户环境变量只对当前用户起作用。

“当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还会到系统的环境变量path和用户的环境

变量path中指定的路径去找。(系统的环境变量优先)”

是否,取得管理员权限时会调用前者,否则会调用后者,而windows貌似是非常容易不知道搞没搞到权限的?

结合网上的配置文章,在未找到相关资料的情况下,我作如下推测:

默认情况下,npm和Node一起装在C:\Program Files (x86)\nodejs,以下简称%Program%;

而包括npm自己和他全局安装的包(cnpm..etc)是装在另一个user-specific路径的C:\Users\\AppData\Roaming\npm,以下简称%Appdata%

因为在环境变量中,安装程序把%Program%放在%Appdata%前面,他会一直使用和node装一起的npm,而不是你安装的npm -g install npm@。

????

解决的思路就是只选一个,前两种是删%Program%

有三种可选解决方法,步骤a如下:

选择1.环境变量中把%Appdata%\npm放%Program%\nodejs前面,每次配置完环境变量或者安装npm需要重启cmd.exe,可能windows也要重启。

选择2.将两者都删除:

%Program%\nodejs\npm

%Program%\nodejs\npm.cmd

选择3.在%Program%\nodejs\node_modules\npm'文件夹下,复制npmrc`文件至另一个文件夹或桌面,然后打开cmd.exe,输入下面命令:

cd %ProgramFiles%\nodejs

npm install npm@latest

如果你是使用Node.js安装程序,在完成上述步骤a的一种后,做步骤b:

选择1或2.把npmrc从%Program%\nodejs\node_modules\npm'复制出来黏贴到%appdata%npmnode_modulesnpm`

https://en.wikipedia.org/wiki...

关于环境变量,在windows系统上,地址之间使用;分开的。当在命令行输入命令,执行一个程序的时候,系统会现在本地路径搜索,然后就会去环境变量中寻找,在PATH中从左到右寻找可执行的文件名.EXE或.COM,或是BAT,CMD。

npm使用$APPDATAnpm来保证非管理员也能写和存储全局包。如果这个路径不存在,创建他需要管理员权限,npm -g install就无法运行

Windows installer doesn't ensure that $USERNAMEAppDataRoaming exists

(其实有一种方法使用nvm管理Nodejs的版本,但是我感觉nvm非常黑魔法,我不会用,有卸载图为证,反正有阴影了,不想碰f6b0e77d95134a517b16c1ed8fa93af6.png940efecab0f963e0fefa760a607315d5.png)

但是并不排除以上问题,并非nvm,而是一直被人诟病的“npm是屎一样的存在,node是翔一样的存在,两者合二为一,啪啪啪啪..”??

事实上用命令行安装更好?可以有相关安装log如果报错可以知道?

详细参见某目录下工作人员回复?忘了在哪看过的了...

敢兴趣可以搜一下...

可是怎么获得命令行的管理员权限?

linux/ios下可以sudu blablabla

脑壳疼 有空再纠结了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值