npm 更新检查失败

npm 更新检查失败

我实际上是想在我的 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

我的 npm 版本是 5.0.3,使用任何 npm 命令时都会遇到同样的问题:

npm 错误消息

该命令运行正常,但此代码无缘无故地不断出现。我已使用以下命令从 5.0.3 更新到 5.2.0:

sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config

npm install -g npm或者npm i -g npm

现在 npm 运行正常。

答案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_CACHEXDG_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

好吧,我们能做的第一件事就是解决这个问题

  1. 确保您已在文件夹设置中勾选了查看隐藏文件的选项。
  2. 右键单击 .config 文件并选择属性,然后单击权限选项卡。
  3. 在文件夹权限和文件权限中,为组|所有者|其他人勾选读取、写入和执行选项。
  4. 在底部单击“将权限应用于封闭文件”。
  5. 现在尝试重新运行您看到这些消息的相同 npm 命令,现在它应该永远消失了。

如果这能帮助你了解该怎么做。

注意:同样的步骤也适用于 .config 文件夹内的 configstore。

相关内容