WIN10子系统环境变量与主系统环境变量冲突(已解决)

今天在使用Win10子系统的过程中发现一个问题:如果主/子系统同时设置环境变量,那么子系统会优先选择主系统的环境变量!打个比方,我主系统中已有Node.js环境变量,那么我在子系统所设置的环境则无效,运行npm会报如下错误

图1

 

很显然,系统运行的是windows下的node,我们执行

echo $PATH

图2

 

结合图1可以看出子系统下的环境变量包含了主系统环境变量,这就是导致图1错误的原因(linux执行windows的程序,报错是必然的)。直接把图2的环境变量删掉也行。。但是我不知道会不会影响到主系统,懒得折腾了,所以我想到用命令别名,执行以下命令

vim ~/.bashrc

然后在bashrc文件的末尾追加图3中的内容(注意,“=”后面的路径是你node安装的路径),这样就能避免相同名称导致的错误了

图3

 

现在我们执行

cnpm -v

图4

这就没问题啦

猜你喜欢

转载自www.cnblogs.com/wongxun/p/11129945.html
今日推荐