node.js - `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。
解决方案
在许多 shell 中,“~”是 ${HOME} 的别名。使用 ${HOME} 让 shell 插入 Home 环境变量,并且比“~”更通用。
推荐阅读
- python - SQLAlchemy - 何时创建额外的模型和关系与仅将 JSON 存储在列中?
- php - 更新 Select 查询循环所基于的字段
- amazon-web-services - AWS MQTT 代理/规则调用中的日志信息不足
- c - C中的recv函数无法获得价值
- spring-boot - 使用动态主机和端口的 TCP 套接字客户端的 Spring 集成
- java - StreamResource 有时在关闭对话框窗口中单击下载按钮时找不到资源
- javascript - 为什么在使用 for 循环添加事件侦听器时会出现 TypeError?
- javascript - 当我使用 for 或 while 循环时,我的应用程序崩溃了
- c++ - glGenVertexArrays 上的 OpenGL C++ glfw 3 glew 错误 1282
- javascript - 在 IE 8 中显示图像,image/abc.gif 和 image\abc.gif 都可以正常工作,但在 IE 11 中却不是。有人可以帮我解决这个问题吗