我实际上是想在我的 ubuntu 17.04 上安装 nodejs 和 npm。我从 nodejs.org 下载了 linux 版本,并为 node 和 nodejs 创建了软链接。检查 nodejs 的版本后,它显示了我安装的版本,我对此很满意。
现在我尝试对 npm 执行相同操作。我尝试为 npm 创建软链接。
sudo ln -sf /mnt/7A46BE1454633621/softwares/programming/frontend/nodejs/lib/node_modules/npm/bin/npm
/usr/bin/npm
我不知道我创建的链接是否正确。但运行npm -v
命令后,我看到了版本 5.0.3,这就是我想要安装的版本。显示了版本,但在它正下方我看到了类似的内容。
5.0.3
npm update check failed │
│ Try running with sudo or get access │
│ to the local update config store via │
│ sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
答案1
答案2
对我来说完全是同样的问题,但似乎与版本无关(我使用的是 npm 5.5.1)。修复权限对~/.config
我来说很有效:
sudo chown -R $USER:$(id -gn $USER) ~/.config
我猜想这与某些所有者的问题有关~/.config/configstore/update-notifier-npm.json
。
答案3
请,不要使用提供的chown
命令在错误消息中。该路径~/.config
被许多应用程序使用,是存储配置信息的标准路径。不建议在那里更改组权限。最好只更改所需的路径,例如:
sudo chown -R $USER ~/.config/configstore
特殊情况:Docker
出现此错误的常见情况是使用 Docker 之类的东西(尤其是通过安装您自己的主目录)。考虑设置环境变量,如NPM_CONFIG_CACHE
和XDG_CONFIG_HOME
。第一个设置您的缓存路径,最后一个设置您的 configstore 路径。我不会使用.config
主目录中的文件夹以避免文件所有权问题。但使用缓存有助于 NPM 等服务节省带宽。尝试避免每次构建时下载过多,并使用类似这样的方法(但请检查目标是否/tmp
有足够的磁盘空间):
test -d /tmp/$USER/cache || mkdir -p /tmp/$USER/cache
docker run \
-v /tmp/$USER:/tmp/$USER \
-e "NPM_CONFIG_CACHE=/tmp/$USER/cache/npm" \
-e "XDG_CONFIG_HOME=/tmp/$USER/cache/" \
...
答案4
好吧,我们能做的第一件事就是解决这个问题
- 确保您已在文件夹设置中勾选了查看隐藏文件的选项。
- 右键单击 .config 文件并选择属性,然后单击权限选项卡。
- 在文件夹权限和文件权限中,为组|所有者|其他人勾选读取、写入和执行选项。
- 在底部单击“将权限应用于封闭文件”。
- 现在尝试重新运行您看到这些消息的相同 npm 命令,现在它应该永远消失了。
如果这能帮助你了解该怎么做。
注意:同样的步骤也适用于 .config 文件夹内的 configstore。