首页 > 解决方案 > `prefix ~/.npm-packages` 是否与 `prefix=${HOME}/.npm-packages` 相同

问题描述

如果没有遇到npm install npm@latest -g权限错误并被迫使用sudo npm install npm@latest -g. 我可以在不使用的情况下运行它sudo,但是,我遵循了StackOverflow 上建议使用的答案sudo,这似乎把事情搞砸了。(我永远无法升级 npm。)

试图纠正这个 sudo 问题,我在这里找到了一个潜在的解决方案,“在 macOS 和 Linux 上全局安装 npm 包而不使用 sudo” https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo .md

第 2 步说:“2. 向 npm 指明全局安装包的存储位置。在您的~/.npmrc文件中添加:prefix=${HOME}/.npm-packages

当我打开~/.npmrc文件时,我看到prefix=~/.npm-packages. 是prefix ~/.npm-packages一样的prefix=${HOME}/.npm-packages,还是我需要添加${HOME}

我正在运行 Mac 10.11.6。我的 npm 是 v 5.6.0。

标签: node.jsmacosnpmsudo

解决方案


在许多 shell 中,“~”是 ${HOME} 的别名。使用 ${HOME} 让 shell 插入 Home 环境变量,并且比“~”更通用。


推荐阅读