通过快照安装节点时,NPM在根目录外不可用

lxkprmvk  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(114)

我刚刚在Ubuntu 22.04上通过snap安装了node,使用以下命令,按照GitHub页面说明:

# snap install node --classic

字符串
之后,node和npm都成功报告了它们的版本。

# node --version
v18.16.0
# npm --version
9.5.1


但是,一旦我退出root,只有node作为非特权用户对我可用:

$ node --version
v18.16.0
$ npm --version
-bash: /usr/bin/npm: No such file or directory


这是预期的行为吗?如何让npm普遍可用?
以下是/snap/bin的内容:

$ ls -l /snap/bin
total 0
lrwxrwxrwx 1 root root 13 Jun  1 04:51 amazon-ssm-agent.ssm-cli -> /usr/bin/snap
lrwxrwxrwx 1 root root  7 Jun  1 04:51 lxc -> lxd.lxc
lrwxrwxrwx 1 root root 13 Jun  1 04:51 lxd -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 04:51 lxd.benchmark -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 04:51 lxd.buginfo -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 04:51 lxd.check-kernel -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 04:51 lxd.lxc -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 04:51 lxd.lxc-to-lxd -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 04:51 lxd.migrate -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 11:52 node -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 11:52 node.npm -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 11:52 node.npx -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 11:52 node.yarn -> /usr/bin/snap
lrwxrwxrwx 1 root root 13 Jun  1 11:52 node.yarnpkg -> /usr/bin/snap
lrwxrwxrwx 1 root root  8 Jun  1 11:52 npm -> node.npm
lrwxrwxrwx 1 root root  8 Jun  1 11:52 npx -> node.npx
lrwxrwxrwx 1 root root 24 Jun  1 04:51 ssm-cli -> amazon-ssm-agent.ssm-cli
lrwxrwxrwx 1 root root  9 Jun  1 11:52 yarn -> node.yarn
lrwxrwxrwx 1 root root 12 Jun  1 11:52 yarnpkg -> node.yarnpkg


请注意,nodejsnpm软件包以前安装过,但在尝试使用snap之前通过apt删除了。也许是一些宿醉导致了这个问题?

huwehgph

huwehgph1#

我也有同样的问题。
TL;DR:我删除了node snap包(也删除了npm snap包)并安装了nvm,然后是nvm install node。一切都像一个魅力。
要进入细节,我认为它也将工作,以改变路径,但我不确定这是一个建议的方式来解决这个问题。nvm安装过程非常简单。

相关问题