npm本地模式和全局模式

在使用npm安装包时, 有两种模式,一种本地模式(不带参数-g),一种全局模式。

默认情况下,不带参数-g的install命令采用的就是本地模式,包将会安装在子目录node_modules下。Node.js的require在加载模块时会尝试搜寻该目录,因此使用本地模式安装的包可以被直接引用。

如果加了参数-g,例如:

npm [install/i] -g [packege_name]

npm 会将包安装到系统目录,譬如 /usr/local/lib/node_modules/,同时 package.json 文 件中 bin 字段包含的文件会被链接到 /usr/local/bin/。/usr/local/bin/ 是在PATH 环境变量中默认 定义的,因此就可以直接在命令行中运行 supervisor script.js命令了。

为什么要使用全局模式呢?多数时候并不是因为许多程序都有可能用到它,为了减少多重副本而使用全局模式,而是因为本地模式不会注册 PATH 环境变量。

### 本地安装 npm 的指南 要在本地环境中安装 npm,可以按照以下方法操作: #### 设置自定义路径 如果希望将 npm 其缓存文件存储在特定位置而不是默认的 C 盘,可以通过修改 `prefix` `cache` 路径来实现。例如,在 Windows 环境中运行以下命令以更改全局模块缓存的位置[^2]。 ```bash npm config set prefix "E:\nodejs\node_global" npm config set cache "E:\nodejs\node_cache" ``` 这一步非常重要,因为它允许开发者指定 npm 全局包以及缓存数据的具体存放位置,从而优化磁盘空间分配并减少权限冲突的可能性。 #### 更新 npm 配置 为了验证当前使用的镜像源是否正常工作,可通过如下两种方式之一获取注册表地址[^1]: ```bash # 方法一:查看当前配置的 registry 地址 npm config get registry # 方法二:尝试访问某个包的信息以确认连接状态 npm info vue ``` 如果发现速度较慢或者无法访问,默认淘宝镜像是国内用户的推荐选择: ```bash npm config set registry http://registry.npm.taobao.org ``` #### 升级 npm 版本 确保使用的是最新版 npm 可提高兼容性安全性。升级过程非常简单,只需执行下面这条指令即可完成全局范围内的更新[^1]: ```bash npm install npm -g ``` 这里 `-g` 参数表示将以全局模式安装新版本的 npm 到之前设定好的 global 文件夹里 (如 D:\Java\nodejs\node_global 或 E:\nodejs\node_global)。 #### 使用本地安装的 npm 包中的工具 当项目依赖某些 CLI 工具时,通常会将其作为开发依赖项 (`devDependencies`) 添加进来。此时可以直接调用它们而无需额外安装到系统 PATH 中。这是因为现代 JavaScript 构建流程提倡利用 `npm scripts` 来封装脚手架逻辑,这样不仅简化了跨平台支持还增强了项目的独立性[^3]. 假设我们已经通过 package.json 定义了一个名为 start 的 script,则无论在哪种操作系统上都可以一致地启动服务: ```json { "scripts": { "start": "webpack serve" } } ``` 接着只需要运行: ```bash npm run start ``` 以上即完成了基于 Node.js 平台上的 npm 局部部署全流程说明。 ### 注意事项 - **管理员权限**: 当涉及修改系统环境变量或写入受保护区域时,请务必以提升后的 shell session 开始作业。 - **网络状况**: 更改镜像站点前最好先测试目标服务器可达性以免引入新的延迟瓶颈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值