【已解决】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)

相关推荐
Tassel_YUE4 天前
SmartX分享:SMTX ZBS 中 RDMA 技术简介
分布式存储·rdma·技术分享·块存储·smartx
Tassel_YUE19 天前
openEuler 22.03 使用cephadm安装部署ceph集群
运维·ceph·学习笔记·openeuler·技术分享·服务部署
孤飞2 个月前
使用 VSCode 远程连接服务器的 SSH 权限问题及解决方案
技术分享
孤飞3 个月前
从0开始计算机体系结构的学习(一):FGPA预备知识与Vivado环境搭建
技术分享
Tassel_YUE4 个月前
存储实验:华为异构存储在线接管与在线数据迁移(Smart Virtualization & Smart Migration 特性)
华为·存储·技术分享·实验·在线迁移
学习新知识的小白白4 个月前
使用Web Component定义自己的专属网页组件
技术分享
孤飞7 个月前
Github Fork仓库的冲突与同步管理
技术分享
孤飞7 个月前
CSS布局概念与技术教程
技术分享
架构成长指南1 年前
我的公众号2023运营总结
java·技术分享·it 公众号运营