win10 下 node/npm/nrm 使用的各种问题
问题一:NRM 报错
错误信息:
internal/validators.js:124
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
windows 安装了 node 之后,需要通过 nrm 管理 registry,因此全局安装了 nrm
执行 nrm 报错如下:
这个是 nrm 的实现有点问题,找到报错的代码:
具体可以在 C 盘 -> 用户,找到自己的用户名,然后继续找
AppData\Roaming\npm\node_modules\nrm\cli.js
(C:\Users\k\AppData\Roaming\npm\node_modules\nrm\cli.js:17:20)
找到后,通过 vscode 打开修改 cli.js
, 改动如下:
// const NRMRC = path.join(process.env.HOME, '.nrmrc');
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
保存后即可使用。
相关信息如下:
问题二:WSL + ubuntu 无法全局安装 npm i -g
如果你使用 windows terminal 并且安装了 ubuntu 子系统,并且使用 zsh 或者 bash 这样的 linux 下的脚本终端,你会发现,无法执行 npm i -g
。
主要错误表现是一个 rename error, permission denied
WSL2 修复了这个问题,如果可以使用 WSL 2 , 可以选择升级到 WSL2,升级需要开启 CPU 虚拟化,具体步骤参考:
如果仍旧使用 WSL1,则该问题无解(主要是 /mnt/ 权限和 ~ 权限),我的做法是在 windows powershell 中安装全局 npm,但是在 ubuntu 子系统中去使用这些全局的 npm cli
问题三:create-react-app 卡住不动,没有任何输出
如果你执行 create-react-app
的时候没有任何的 console 信息,并且会卡住,没有任何反应。
可以尝试将 nodejs 安装到 非 C 盘目录,经过各种尝试,将 nodejs 安装到非 C 盘目录后,问题得到解决。
文章版权:Postbird-There I am , in the world more exciting!
本文链接:http://www.ptbird.cn/window-nrm-error.html
转载请注明文章原始出处 !
应该留下联系才好呀
如此好文章一定要留下名啊