node.js - `prefix ~/.npm-packages` 与 `prefix=${HOME}/.npm-packages` 相同吗

标签 node.js macos npm sudo

我无法运行npm install npm@latest -g,而不会遇到权限错误并被迫使用sudo npm install npm@latest -g。我可以在不使用 sudo 的情况下运行它,但是 I followed an answer StackOverflow 上建议使用 sudo ,这似乎把事情搞砸了。 (我一直无法升级 npm。)

尝试纠正此 sudo 问题,我发现了一个潜在的解决方案,“在 macOS 和 Linux 上无需 sudo 即可全局安装 npm 软件包” https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md

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

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

我运行的是 Mac 10.11.6。我的 npm 版本为 5.6.0。

最佳答案

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

关于node.js - `prefix ~/.npm-packages` 与 `prefix=${HOME}/.npm-packages` 相同吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51127737/

相关文章:

node.js - 使用 nodemailer 发送电子邮件不在远程工作但在本地主机工作

javascript - 我要查询whitepages.com 4000次,如何保存结果?

macos - xargs 不适用于 lsof

node.js - NPM/node-gyp 错误

node.js - 在 Heroku 上部署 Nodejs + MongoDB,但安装插件时需要验证信用卡

node.js - 从 heroku 中删除 'server' 和 'via' header ?

macos - 基于 View 的 NSTableView 和行高

node.js - Electron 应用程序找不到 sqlite3 模块

node.js - Npm pack 以包含本地模块

node.js - 来自 SOAPUI 的 SOAP 请求的 SOAP 信封丢失/无效