3.2 nrm安装

本文档介绍了如何解决在使用nrm(npm registry manager)时遇到的TypeError报错,通过修改nrm的cli.js文件来适配不同平台。同时,提供了nrm的基本用法,包括列出所有注册表、切换注册表、查看当前注册表等操作。此外,还展示了如何检查和更改npm源。

一、npm全局安装nrm

npm install nrm -g

二、cmd运行nrm

如果出现如下报错

node:internal/validators:119
    throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
    ^

[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

修改C:\Users\javain\AppData\Roaming\nvm\v16.4.1\node_modules\nrm目录下cli.js


//删除原码中const NRMRC = path.join(process.env.HOME, '.nrmrc'); 替换为下面的代码
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');

找不到目录可以在Roaming搜索一下

三、使用

Usage: nrm [options] [command]

  Commands:

    ls                                    List all the registries
    current                               Show current registry name
    use <registry>                        Change registry to registry
    add <registry> <url> [home]           Add one custom registry
    login <registry> [value]              Set authorize information for a registry with a base64 encoded string or username and pasword
      -a  --always-auth                     Set is always auth
      -u  --username <username>             Your user name for this registry
      -p  --password <password>             Your password for this registry
      -e  --email <email>                   Your email for this registry
    set-hosted-repo <registry> <value>    Set hosted npm repository for a custom registry to publish packages
    set-scope <scopeName> <value>         Associating a scope with a registry
    del-scope <scopeName>                 Remove a scope
    set <registryName>                    Set custom registry attribute
      -a  --attr <attr>                    Set custorm registry attribute
      -v  --value <value>                  Set custorm registry value
    del <registry>                        Delete one custom registry
    rename <registryName> <newName>       Set custom registry name
    home <registry> [browser]             Open the homepage of registry with optional browser
    publish [<tarball>|<folder>]          Publish package to current registry if current registry is a custom registry. The field 'repository' of current custom registry is required running this command. If you're not using custom registry, this command will run npm publish directly
      -t  --tag [tag]                        Add tag
      -a  --access <public|restricted>       Set access
      -o  --otp [otpcode]                    Set otpcode
      -dr --dry-run                          Set is dry run
    test [registry]                       Show the response time for one or all registries
    help                                  Print this help

  Options:

    -h  --help     output usage information
    -V  --version  output the version number

nrm ls 查看镜像源

前面有*,表示当前源地址

上图中

nrm use yarn   使用yarn源

npm config get registry 查看当前源已经变更了

### 安装 nrm 工具 `nrm` 是一个 npm 源管理工具,它可以帮助用户在多个 npm 源之间快速切换,以提高包的下载速度和稳定性。以下是安装 `nrm` 的详细步骤: 1. **确保已安装 Node.js 和 npm** 在安装 `nrm` 之前,必须确保系统中已经安装了 Node.js 和 npm。可以通过以下命令检查是否已安装: ```bash node -v npm -v ``` 如果系统返回了 Node.js 和 npm 的版本号,则说明已经安装成功。 2. **全局安装 nrm** 使用 npm 安装 `nrm` 是最简单的方式。执行以下命令进行全局安装: ```bash npm install -g nrm ``` 安装完成后,可以通过以下命令验证是否安装成功: ```bash nrm --version ``` 如果系统输出了 `nrm` 的版本号,则表示安装成功[^3]。 3. **查看可用的 npm 源** 安装完成后,可以使用以下命令查看 `nrm` 提供的可用源: ```bash nrm ls ``` 输出结果会列出所有支持的源,例如 `npm`, `yarn`, `taobao`, `nj`, `rednpm`, `cnpm` 等。 4. **切换 npm 源** 使用以下命令可以快速切换到指定的源(例如切换到淘宝镜像源): ```bash nrm use taobao ``` 切换后,可以使用 `nrm current` 命令来确认当前使用的源[^2]。 5. **设置默认源(可选)** 如果希望每次使用 `nrm` 时默认使用某个特定的源,可以通过修改 `nrm` 的配置文件 `.nrmrc` 来实现。该文件通常位于用户的主目录下。编辑该文件并指定默认源名称即可[^1]。 --- ### 示例代码:安装 nrm 并切换源 ```bash # 安装 nrm npm install -g nrm # 查看可用源 nrm ls # 切换到淘宝镜像源 nrm use taobao # 查看当前使用的源 nrm current ``` --- ### 注意事项 - 在切换源之前,建议备份当前的 npm 源设置,以便在需要时恢复。 - 切换源后,可能需要重新运行 `npm install` 来更新项目的依赖包。 - 使用非官方源时,请确保源的安全性和可靠性,以避免潜在的安全风险[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值