事情的起因是:Koa要求v7.6.0以上的nodejs。

但是window环境下升级node不容易,试过npm install -g n 和n stable等命令无效,而网上推荐的nvm并不支持windows,而nvm for windows 又要求先删除node及相关配置,而且这个用于支持windows的nvm是不完善的。处于规避风险的考虑索性决定删除并重装nodejs。

问题来了,在某网友的教程中,提到修改npm安装的全局路径:

npm config set prefix"D:\Develop\nodejs\node_global"
npm config set cache "D:\Develop\nodejs\node_cache"

右键我的电脑,属性,高级系统设置,高级/环境变量,在 系统变量 新建NODE_PATH,输入D:\Develop\nodejs\node_global\node_modules,

在 用户变量 将Path 修改为 D:\Develop\nodejs\node_global

但我试了下后,发现npm一直报错,说访问安装在C盘的nodejs的node_global;失败几次尝试后将路径修改回appdata,但还是报同样的错误。

几次卸载nodejs,删除npm相关文件夹还是如此。

解决方案

最后发现必须用管理员权限的cmd执行npm操作才有效,因在C盘的Program Files,使用git bash没有权限将文件写入,故而失败。

我的nodejs是默认安装在C盘的Program Files中,听从网友建议将全局路径设在nodejs的安装路径下,而刚好Program Files需要权限读写操作。

正确的方式是将全局路径设定在不需要管理员权限的地方。

所以我再一次重装了nodejs,并用管理员权限的cmd将全局路径设在安装目录下。问题得到解决。

windows下node配置npm全局路径(踩坑)的更多相关文章

  1. Windows 系统下设置Nodejs NPM全局路径和环境变量配置

    在nodejs的安装目录中找到node_modules\npm\.npmrc文件 修改如下即可: prefix = D:\tool\nodejs\node_globalcache = D:\tool\ ...

  2. [记]Windows 系统下设置Nodejs NPM全局路径

    Windows下的Nodejs npm路径是appdata,担心安装的node_modules越来越多,导致C盘满,所以参考别人的博文,将node_modules安装的默认目录修改一下. 参考Wind ...

  3. Windows 系统下设置Nodejs NPM全局路径

    Windows下的Nodejs npm路径是appdata,很不爽,想改回来,但是在cmd下执行以下命令也无效 npm config set cache "D:\nodejs\node_ca ...

  4. node.js之Windows 系统下设置Nodejs NPM全局路径

    node.js 0.10 版本下修改全局路径: npm config set cache "D:\nodejs\node_cache" npm config set prefix ...

  5. nvm安装node和npm,个人踩坑记录

    我采用nvm-setup安装windows版本的nvm nvm安装node出现的问题: 1.node成功了,npm没成功 解决:在nvm 安装了node之后,输入npm找不到该命令,当时安装报错如下: ...

  6. 在CentOS/Windows下配置Nginx(以及踩坑)

    在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...

  7. Windows下安装配置MongoDB

    Windows下安装配置MongoDB 一,介绍 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB ...

  8. (转)windows 下安装配置 Nginx 详解

    windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...

  9. Lua在Windows下的配置、安装、运行

    Windows下安装.运行Lua! 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1↓ 进入Lua官网:h ...

随机推荐

  1. js html生成图片

    我自己分装好的方法,外链自己去下: /** * !!!使用前请导入jq文件!!! 海报生成, 二维码链接生成 */ document.write('<script src="/Publ ...

  2. php 数据库备份(可用作定时任务)

    参考: https://blog.csdn.net/weixin_37616043/article/details/87721181 https://blog.csdn.net/stpeace/art ...

  3. SourceTree for Windows跳过登录解决方法

    来源:https://blog.csdn.net/t_332741160/article/details/79611303 SourceTree 是一个强大的git管理客户端,但是在使用最新版需要登录 ...

  4. php函数封装

    这是一些自定义封装的函数类,调用起来很方便,以后会有更多的封装函数更新! // 弹框跳转function alert($msg,$url=''){ echo "<script>& ...

  5. curl请求curl_exec返回false,curl_error返回空

    网上查找了一下,由于采用https协议,一定要加入以下两句 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书下同 curl_setopt ...

  6. XSS Challenge(2)

    XSS Challenges http://xss-quiz.int21h.jp/ Stage #13 Hint:style attribute:要用到style属性,在style属性中有个expre ...

  7. Display a QMessageBox from a QThread

    Emit a signal. Since you cannot do UI stuff in a Qthread, instead send your message as an argument o ...

  8. CSS躬行记(8)——裁剪和遮罩

    一. 裁剪 裁剪(clipping)能让元素显示指定形状的区域,在布局时可起点缀的作用,丰富了视觉呈现.注意,裁剪本质上只是让元素的部分区域透明,由此可知,裁剪完后元素所占的空间仍旧会保留.裁剪最早是 ...

  9. 【Linux常见命令】cd命令

    BASH_BUILTINS(1) cd命令用于切换当前工作目录至 dirName(目录参数). 其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的 home 目录 ( ...

  10. SpringCloud之整合Feign

    假设提供者有如下服务接口方法 @RestController @RequestMapping("/person") public class PersonController { ...