部分前端项目和nodejs项目安装包的时候用到了node-pre-gyp
功能。使用的时候经常出现各种问题。
作者最近针对主要遇到的python找不到的问题进行了分析。
先说解决方案:
作者操作环境是win11
以管理员权限打开cmd(可以直接开始菜单顶部搜索cmd,找到命令提示行后会有以管理员权限打开字样)。
输入
mklink /J "C:\Users\admin" "C:\Users\用户名"
,其中的admin
是你打算用的英文路径,用户名
是你电脑目前的中文路径,自己进行替换。
到这一步,安装软件的时候环境变量默认应该还是用的用户名这个中文路径,但是如果你手动修改,让程序读取admin路径的时候,就会自动映射到用户名路径中。
3.以nodejs为例进行配置。
在.npmrc
文件中加上python=C:\Users\admin\AppData\Local\Programs\Python\Python311\python.exe
(注意具体路径以自己电脑配置为准,这里仅给出作者电脑的例子)
这样nodejs执行打包的时候就可以顺利找到python执行文件了。
补充:.npmrc
文件我是在C:\Users\用户名
这个目录下生成的,可以管理npm
执行时候请求的一些路径内容。
下面是一些具体分析:
在遇到python相关问题的时候,首先要检查电脑中是否安装了python,并且版本如何。一般情况下,大多数人到这里检查都没有问题。作者排查问题的时候也没发现问题。
作者这里遇到的问题是因为C:\Users\用户名 这个路径中,用户名是中文,仔细分析包安装报错的时候,会发现这个用户名这里会是类似�����~1
这样的东西。
这说明使用这台电脑的时候创建的用户名是汉字,部分程序执行的时候无法识别,导致路径出错。无法执行对应的内容。
而修改电脑用户名无法变更这个文件目录。手动直接修改目录会导致很多软件环境变量失效,产生巨大问题。网上有方法是让重新建一个英文账户,然后把中文账户文件内的内容全部复制过去。然后再自己修改环境变量。这种方法非常麻烦,而且依然风险巨大。