【已解决】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. 在命令行的主目录中,为全局安装创建一个目录:

    bash 复制代码
    mkdir ~/.npm-global
  3. 配置npm使用新的目录路径:

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

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

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

    bash 复制代码
    npm install -g nrm

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

bash 复制代码
NPM_CONFIG_PREFIX=~/.npm-global

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

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

成功演示:

参考文献:

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

相关推荐
孤飞1 个月前
使用 VSCode 远程连接服务器的 SSH 权限问题及解决方案
技术分享
孤飞2 个月前
从0开始计算机体系结构的学习(一):FGPA预备知识与Vivado环境搭建
技术分享
Tassel_YUE3 个月前
存储实验:华为异构存储在线接管与在线数据迁移(Smart Virtualization & Smart Migration 特性)
华为·存储·技术分享·实验·在线迁移
学习新知识的小白白3 个月前
使用Web Component定义自己的专属网页组件
技术分享
孤飞6 个月前
Github Fork仓库的冲突与同步管理
技术分享
孤飞6 个月前
CSS布局概念与技术教程
技术分享
架构成长指南10 个月前
我的公众号2023运营总结
java·技术分享·it 公众号运营
孤飞1 年前
CentOS 8.1成功安装最新Node.js 20教程(含用到的全部命令和截图演示)
技术分享
孤飞1 年前
macOS 苹果电脑双面打印单面打印PDF设置
技术分享