如何在Manjaro系统中将npm包安装到本地当前目录而非全局路径
解决Manjaro下npm默认安装到全局的问题
基础命令校验
本地安装npm包不需要加-g/--global参数,正确命令格式为npm install <目标包名>,如果携带-g参数无论配置如何都会安装到全局路径。确认未携带该参数仍出现异常的,按以下步骤排查:
排查npm配置异常
- 执行
npm config list查看所有生效配置,检查是否存在global=true的配置项,该配置会强制所有安装行为走全局模式- 若全局配置(
/etc/npmrc或~/.npmrc)存在该配置,删除对应行即可 - 若当前工作目录下的
.npmrc存在该配置,删除对应行即可
- 若全局配置(
- 执行
npm config get prefix查看全局安装前缀,若输出为当前工作目录,执行npm config delete prefix重置默认全局前缀
强制初始化本地项目
在目标工作目录执行npm init -y手动生成package.json文件,初始化完成后再执行安装命令,npm会默认将包安装到当前目录的node_modules文件夹,同时写入依赖信息到package.json
修复AUR安装包权限问题
Manjaro AUR源的部分nodejs/npm打包版本存在全局路径权限配置错误,普通用户无权限写入全局路径时会自动 fallback 到home目录的全局文件夹,执行以下命令修复:
sudo chown -R $USER:$USER ~/.npm修复npm缓存目录权限npm config set prefix ~/.npm-global修改全局安装路径到用户目录,该配置不影响本地安装逻辑
内容的提问来源于stack exchange,提问作者isuro
相关产品推荐
相关产品推荐

