我最近全新安装了 Ubuntu 21.04 并想安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
然后关闭并重新打开终端。当请求安装版本
12.16.3
时(也尝试过其他版本)。我收到以下错误:
nvm install 12.16.3
Downloading and installing node v12.16.3...
Downloading https://nodejs.org/dist/v12.16.3/node-v12.16.3-linux-x64.tar.xz...
Warning: Failed to create the file
Warning: /home/sauronnikko/.nvm/.cache/bin/node-v12.16.3-linux-x64/node-v12.16.
Warning: 3-linux-x64.tar.xz: Permission denied
curl: (23) Failure writing output to destination
Binary download from https://nodejs.org/dist/v12.16.3/node-v12.16.3-linux-x64.tar.xz failed, trying source.
grep: /home/sauronnikko/.nvm/.cache/bin/node-v12.16.3-linux-x64/node-v12.16.3-linux-x64.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Downloading https://nodejs.org/dist/v12.16.3/node-v12.16.3.tar.xz...
Warning: Failed to create the file
Warning: /home/sauronnikko/.nvm/.cache/src/node-v12.16.3/node-v12.16.3.tar.xz:
Warning: Permission denied
curl: (23) Failure writing output to destination
Binary download from https://nodejs.org/dist/v12.16.3/node-v12.16.3.tar.xz failed, trying source.
grep: /home/sauronnikko/.nvm/.cache/src/node-v12.16.3/node-v12.16.3.tar.xz: No such file or directory
Provided file to checksum does not exist.
卸载
curl
安装时使用 snap
sudo snap remove curl
从
curl
安装
apt
sudo apt install curl
我也遇到了同样的问题(之前安装了 curl 和 snap)。卸载curl后nvm按预期工作。
$ sudo snap remove curl
我也有同样的问题。这是由于缺少“libssl-dev”造成的。在开始 nvm 的安装过程之前运行以下命令
sudo apt-get install build-essential libssl-dev curl git-core
这有效
简单来说,我这样做了并且成功了......
>snap list
>sudo snap remove curl
这将删除通过snap安装的curl。 我们需要使用apt安装
>sudo apt-get install curl
现在我们需要使用curl安装nvm
>curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
现在只需安装您想要的节点版本即可。
>nvm install v14.17.0
为了列出所有 nvm 版本,只需这样做。
>nvm ls
要进行切换,只需输入以下命令。
>nvm use v12.X.XX
它说
Permission denied
,请尝试使用 sudo
执行相同的命令
sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
我今天也遇到了完全相同的问题,我不确定这是否是 NVM 的问题,或者只是我的 Linux 安装有问题,但我已经通过手动下载 tar 文件暂时解决了这个问题对于要安装的节点版本,将其移至 nvm 的缓存,然后再次运行 nvm install。我将在下面留下确切的步骤,如果我弄清楚为什么curl不想在.nvm目录中创建文件,我会尝试记住回来更新这个问题
我已经尝试了我能想到的一切尝试允许curl保存到nvm目录,使用sudo安装nvm,chown目录,为用户组和目录添加完整的rwx权限,手动安装nvm,没有任何效果对我来说,目前我最好的解决方案如下:)
解决修复问题(以node v16.1.0为例):
1 - 运行curl命令将您想要的节点版本下载到您的主目录中
curl https://nodejs.org/dist/v16.1.0/node-v16.1.0-linux-x64.tar.xz --output node-v16.1.0-linux-x64.tar.xz
2 - 将文件复制到 nvm 缓存
sudo mv node-v16.1.0-linux-x64.tar.xz ~/.nvm/.cache/bin/node-v16.1.0-linux-x64/node-v16.1.0-linux-x64.tar.xz
3 - 再次运行 nvm install
nvm install node (or whatever version you are trying to install)
检查你的 NVM_DIR 环境变量,我的从旧机器转移后设置不正确
您可以尝试创建文件夹并授予其写入权限:
创建文件夹
mkdir ~/.nvm
授予许可例如:
sudo chmod 777 ~/.nvm
注意:就我而言,我通过了这些步骤,但在使用 nvm 安装节点版本时遇到了另一个权限错误,并使用以下命令解决了该问题:
sudo chmod 777 /private/tmp
我使用的是 Windows 计算机 (Windows 10),并且使用 Git Bash(我意识到这不受支持 - 见下文)。
nvm install --lts
被拒绝的权限与此文件夹相关:
C:\Users\{my_user}\AppData\Local\Microsoft\WindowsApps\python3
我不知道该文件/文件夹出了什么问题;
python3.exe
等都是0字节。所以我删除了 WindowsApps ,并且克服了这个Permission denied
错误
要小心,不确定这是否适合您,我只是假设
\AppData\Local
是缓存数据——可以毫无问题地删除
克服权限被拒绝错误后,但我收到了一个新错误,例如
Did not find a new enough assembler
我能够通过运行命令来修复此与汇编程序相关的错误:
cd "$NVM_DIR" && git checkout master
,如此处所述
对我来说,问题有所不同,解决方案是为 GitHub 创建 SSH 密钥并将其添加到我的个人资料中。
查看相关文档这里