我已经下载了NodeJS
安装程序并将其放在里面/home/deploy/nodejs
。我正在尝试设置它的路径,但没有成功。我以 root 身份登录,并且我也想以 root 身份进行访问nodejs
和访问。npm
为此,我尝试添加/root/.bashrc
以下内容:
PATH=/usr/bin/node:/home/deploy/nodejs/bin/
PATH=/usr/bin/npm:/home/deploy/nodejs/bin/
之后我尝试了node
和npm
,但没有一个成功。我究竟做错了什么?
里面的文件/home/deploy/nodejs/bin
是node、node_modules和npm。我尝试了 .deb 安装程序,但这不是安装 npm,而是安装 Nodejs,所以我必须执行所有这些操作...:-(
更新
npm
/home/deploy/nodejs/bin/npm: 1: /home/deploy/nodejs/bin/npm: dirname: not found
/home/deploy/nodejs/bin/npm: 2: exec: /node: not found
答案1
1)您正在覆盖破坏系统大部分内容的路径。正确的行是:
PATH="$PATH:/home/deploy/nodejs/bin"
这样,您就可以将某些内容附加到 PATH 中,而不是覆盖它。此外,路径由目录(而不是文件)组成,并且/usr/bin
应该已经在其中,使得第一部分无用。
2)“您是否尝试过将其关闭然后再次打开?” -.bashrc
仅在登录时或使用时加载source ~/.bashrc
。如果您想在系统范围内更改路径,则应该在/etc/profile
.
3)另外,请确保有一个/home/deploy/nodejs/bin/node
文件,并且它是可执行的(如果你正确安装了它,那么肯定是这样,但你可以运行chmod a+x /home/deploy/nodejs/bin/node /home/deploy/nodejs/bin/npm
以更加确定)
答案2
我所做的如下:
- 从以下地址下载正确的版本(在我的例子中是适用于 Raspberry Pi 3b 的 ARMv7)NodeJS 站点
- 在 /opt/node 中解压(使用
xz -d
和tar xf
) - 这通常会让您在子目录中保留所有内容,因此我移动了所有内容:
mv node-v14.15.4-linux-armv7l/* .
- 为 Node、npm 和 npx 创建到 /usr/bin 的软链接
root@fileserver:/opt/node# ln -s /opt/node/bin/npx /usr/bin/npx
root@fileserver:/opt/node# ln -s /opt/node/bin/node /usr/bin/node
root@fileserver:/opt/node# ln -s /opt/node/bin/npm /usr/bin/npm
那么一切都会像魅力一样发挥作用。请注意,您可能必须使用 chmod 更改权限以允许其他用户访问。
对于基于用户的解决方案,请查看https://github.com/nodejs/help/wiki/Installation#how-to-install-nodejs-via-binary-archive-on-linux