【已解决】nrm -g安装成功后不是全局应用(command not found: nrm)

本机情况:

服务器系统:CentOS 8.1

nodejs版本:20

问题描述:

在命令行执行命令,npm install -g nrm,全局安装nrm。

安装之后,执行nrm lscommand not found: nrm

问题解决方案:

解决全局安装包时的EACCES权限错误

如果您在尝试全局安装一个包时看到EACCES错误,您可以:手动更改npm的默认目录

注意:本节不适用于Microsoft Windows。

为了最大限度地减少权限错误的机会,您可以将npm配置为使用不同的目录。在此示例中,您将在主目录中创建和使用隐藏目录。

  1. 备份您的计算机。

  2. 在命令行的主目录中,为全局安装创建一个目录:

    mkdir ~/.npm-global
    
  3. 配置npm使用新的目录路径:

    npm config set prefix '~/.npm-global'
    
  4. 在您首选的文本编辑器中,打开或创建一个~/.profile文件并添加以下行:【root目录下新建一个.profile文件写入下面这一行】

    export PATH=~/.npm-global/bin:$PATH
    
  5. 在命令行上,更新您的系统变量:

    source ~/.profile
    
  6. 要测试您的新配置,请在不使用sudo的情况下全局安装一个包:

    npm install -g nrm
    

您可以使用相应的ENV变量(例如,如果您不想修改~/.profile)来代替步骤3-5:

NPM_CONFIG_PREFIX=~/.npm-global

npx:运行全局命令的替代方案

如果您使用的是npm 5.2或更高版本,您可能需要考虑将npx作为运行全局命令的替代方式,尤其是当您只是偶尔需要命令时。有关详细信息,请参阅这篇关于npx的文章

成功演示:

参考文献:

[1] Resolving EACCES permissions errors when installing packages globally | npm Docs (npmjs.com)

posted @ 2023-12-14 15:39  孤飞  阅读(109)  评论(0编辑  收藏  举报