概述

最近在配置neovim lsp功能的时候,需要使用node安装模块,而且必须是global模式安装,又不用是root权限,所以只能重定向global的路径了。

操作流程

有时您不想更改 npm 使用的默认目录(即/usr)的所有权,因为这可能会导致一些问题,例如,如果您与其他用户共享系统。
相反,您可以将 npm 配置为完全使用不同的目录。在我们的例子中,这将是我们主文件夹中的一个隐藏目录。

  1. 为全局安装创建一个目录:
mkdir ~/.npm-global
  1. 配置 npm 以使用新的目录路径:
npm config set prefix '~/.npm-global'
  1. 打开或创建一个~/.profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
  1. 回到命令行,更新您的系统变量:
source ~/.profile
  1. 测试一下,不使用sudo
npm install -g jshint

除了步骤 2-4,您还可以使用相应的 ENV 变量(例如,如果您不想修改~/.profile):

NPM_CONFIG_PREFIX=~/.npm-global npm install -g jshint