npm、node、node_global、node_cache等问题的解决办法

一、windows系统安装node后设置node_global和node_cache

npm config set registry https://registry.npmmirror.com


在全局安装angular的时候,总是安装不成功,全局安装的node,也能查看到其版本,安装angular命令能够正确执行,只是查看其版本总报不是内部或外部命令。经过排查,发现安装的node目录中并没有node_global和node_cache文件夹。采用下述方式,讲问题解决了。

使用npm安装模块分为本地安装和全局安装。

本地安装:npm install express 会安装到当前项目

全局安装:npm install express -g 会安装到指定的目录(node_global)

另外,如果没有设置全局目录node_global,那么全局安装的文件将会保存到 C:\Users\hades\AppData\Roaming\npm (hases是自己设置的计算机名字)

所以,安装好node后,要设置一下node_global和node_cache(node缓存文件夹)

1,在node安装目录创建node_global和node_cache文件夹

2,设置环境变量:

用户变量设置:将用户变量中 PATH 的值改成 D:\Program Files\nodejs\node_global,没有PATH,可以直接添加。

系统变量设置:添加变量 NODE_PATH 值为:D:\Program Files\nodejs\node_modules

3,打开cmd,执行

npm config set prefix "F:\NodeBao\node_global"

npm config set cache "F:\NodeBao\node_cache"

4,看执行npm install express -g 后的node_global 文件夹

5,有时候用npm拉取包可能会很慢,可以用淘宝npm镜像代替npm进行拉包,就像github和gitee

执行:$ npm install -g cnpm --registry=https://registry.npm.taobao.org

然后就可以用 cnpm install express -g 进行拉包了,和npm一样。

二、Windows下使用npm安装任何包都报错, Windows下使用npm显示权限不够

解决办法

  1. 方法一

使用管理员权限打开 命令窗口, 治标不治本!!!不推荐

2. 方法二

1 .网上的一大推: 删除 .npmrc文件
2. 如果你的npm安装在默认路径C:\Program Files\nodejs下,那么就得卸载重装了。再此重装时注意修改安装目录,避开windows文件夹权限,此处就不赘述了,自己不会的可以上网搜索,描述该类型问题的博客很多,卸载时注意要卸载干净,环境变量别忘了

还是解决不了!!!

3.方法三 本人最推荐!!!
    就是需要管理员权限,权限问题!!! 那就给他权限
1 . 查看Nodejs安装目录,右键发现在重命名以及删除前面有个盾牌标志这就是 node文件夹 权限不够的原因
 

方法

右键Nodejs安装目录,我的是文件夹名称是nodejs,点击属性, 如图

再次执行npm install express -g就可以成功了。

其它问题

三、vue执行npm install报错: Can‘t find Python executable “python“, you can set the PYTHON env variable
原博主的链接点击跳转原文

一、描述
从网上下载的一个Vue模板项目,导入VsCode,执行npm install命令后,报错了,报错的信息是node-sass安装失败,同时提示需要python环境的错误信息,这是因为安装node-sass失败了,而node-sass依赖于Python环境,node-sass安装失败是因为默认是从国外线路下载,这些大家都是知道的,在网速不好的情况下,失败率很高。

1.核心错误日志如下:

Can't find Python executable "python", you can set the PYTHON env variable
 

2.控制台错误信息截图:

二、原因
npm源速度慢。
node-sass除了npm部分的代码,还会下载二进制文件binding.node,默认源是github,国内访问较慢,特殊时期甚至无法访问。
node版本与node-sass版本不兼容。
缓存中binding.node版本不一致。
安装失败后重新安装。
提示没有安装python、build失败,假如拉取binding.node失败,node-sass会尝试在本地编译binding.node,过程就需要python。
没有安装python或node-sass 。那么安装失败的问题,是因为被墙了,npm 安装 node-sass 依赖时,会从 github.com 上下载 .node 文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败。
这是使用 sass 的开发者可能都会遇到的郁闷的问题。
最方便的解决方式就是更换npm镜像源为淘宝镜像以及卸载node-sass依赖重新下载就好啦

三、解决方式(方式一)
切换镜像源: 切换镜像源为国内的淘宝镜像源,然后卸载node-sass依赖重新下载就好了。

1.设置全局淘宝镜像源

npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/

2.安装node-sass

npm install node-sass

3.启动vue项目

npm run dev

将镜像源设置为国内的淘宝之后,再随后执行npm run dev 启动开发环境服务即正常,完美解决问题。

四、完美解决Sass不能安装(第二种解决方式)

npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

### 关于 `node_global` 目录中缺少 `node_modules` 文件夹的原因 当提到全局安装包的位置时,在某些情况下,可能会发现全局安装路径下并没有 `node_modules` 文件夹。这通常是因为 Node.jsnpm 的设计使得全局模块并不一定存储在一个名为 `node_modules` 的子目录内。 全局模块的实际位置取决于操作系统的配置以及环境变量设置。对于 Unix-like 系统(包括 macOS),默认的全局模块路径通常是 `/usr/local/lib/node_modules` 或者位于用户的 home 目录下的 `.npm-global/lib/node_modules`[^1]。而在 Windows 上,默认可能是类似于 `C:\Users\<用户名>\AppData\Roaming\npm\node_modules` 这样的路径[^2]。 如果希望更改全局模块的安装位置到指定的 `node_global` 路径并创建相应的 `node_modules` 文件夹,可以按照如下方式调整: #### 设置自定义全局前缀 通过修改 npm 配置来改变全局模块的保存地点: ```bash npm config set prefix /path/to/custom/global/folder ``` 这样做的效果是让所有的全局包都安装在这个新设定的文件夹里,并且会在该文件夹内部建立标准结构,其中包括 `node_modules` 子文件夹用于存放实际的 JavaScript 库文件。 #### 创建软链接(仅限 Unix/Linux) 另一种做法是在期望的目标位置创建指向真实全局库所在位置的符号链接(symbolic link),从而实现逻辑上的存在感而无需真正移动任何东西。 ```bash ln -s /real/path/of/global/modules /desired/location/node_modules ``` 以上两种方法都可以有效地解决问题,即确保有一个可识别的 `node_modules` 文件夹存在于预期的工作环境中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YCY^v^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值