nodejs安装及环境变量配置
大致分为三步:
-
下载并安装nodejs,并通过
node --version和npm --version查看是否安装成功 -
在nodejs安装目录创建/nodejs/node_global、/nodejs/node_cache两个文件夹存放全局包
方法一:到node安装目录执行以下命令:npm config set prefix D:/node/nodejs/node_global/ //全局包目录,就在node安装目录新建了个nodejs文件夹存放 npm config set cache D:/ndoe/nodejs/node_cache/ //全局包缓存目录,就在node安装目录新建了个nodejs文件夹存放 npm get prefix 查看全局安装的位置方法二:直接修改C:/Users/[username]/.npmrc文件的cache值和prefix值,文件如下:
prefix=D:\node\nodejs\node_global cache=D:\node\nodejs\node_cache registry=https://registry.npm.taobao.org/
补充:修改Yarn的全局安装和缓存位置
在CMD命令行中执行:
#1.改变 yarn 全局安装位置
yarn config set global-folder "你的磁盘路径"
#2.然后你会在你的用户目录找到 `.yarnrc` 的文件,打开它,找到 `global-folder` ,改为 `--global-folder`
#这里是我的路径
yarn config set global-folder "D:\Software\yarn\global"
#2. 改变 yarn 缓存位置
yarn config set cache-folder "你的磁盘路径"
#这里是我的路径
yarn config set cache-folder "D:\Software\yarn\cache"
在我们使用 全局安装 包的时候,会在 “D:\Software\yarn\global” 下 生成 node_modules.bin 目录
我们需要将 D:\Software\yarn\global\node_modules.bin 整个目录 添加到系统环境变量中去,否则通过yarn 添加的全局包 在cmd 中是找不到的。
参考:https://www.cnblogs.com/Jimc/p/11121632.html
- 配置环境变量
貌似安装nodejs已经自动帮你配置好了:

一个是在系统变量的路径下配置了Path = D:\ENVIRONMENT\nodejs\;
一个是在用户变量的路径下配置了Path = C:\Users\[username]\AppData\Roaming\npm;
我猜想配置前者是为了在全局下运行npm、npx等命令;如图:
其中node_modules文件夹存放了npm和corepack包,属于安装nodejs自带安装了npm和corepack

安装后者在用户变量是为了在全局下运行用户自己安装的全局包,如yarn

因为我们执行第二步的时候将全局安装包的位置换为了D:\ENVIRONMENT\nodejs\node_global,所以必须得将自动帮我们创建的Path = C:\Users\[username]\AppData\Roaming\npm修改为Path = D:\ENVIRONMENT\nodejs\node_global\

遇到的问题:
在PowerShell中运行yarn -v出现错误
yarn : 无法加载文件 D:\ENVIRONMENT\nodejs\node_global\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ yarn -v
+ ~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
分析:
因为配置了用户变量D:\ENVIRONMENT\nodejs\node_global\,使用PowerShell运行会访问当前文件夹下的D:\ENVIRONMENT\nodejs\node_global\yarn.ps1(因为yarn.ps1是ps下的命令脚本;yarn.cmd是cmd下的命令脚本)
解决:
-
管理员身份运行power shell
-
若要在本地计算机上运行您编写的未签名脚本和来自其他用户的签名脚本,请使用以下命令将计算机上的 执行策略更改为 RemoteSigned
执行:
set-ExecutionPolicy RemoteSigned,输入 : y -
查看执行策略:
get-ExecutionPolicy

ps:
https://www.cnblogs.com/zhouyu2017/p/6485265.html#!comments
https://blog.csdn.net/tjj3027/article/details/84751321

浙公网安备 33010602011771号