gpt4 book ai didi

node.js - 无法以用户身份运行 npm 安装的包

转载 作者:搜寻专家 更新时间:2023-10-31 23:49:34 30 4
gpt4 key购买 nike

今天下午早些时候,我在 Fedora 16 上安装了 Node.js。

user@$ sudo yum localinstall --nogpgcheck http://nodejs.tchol.org/repocfg/fedora/nodejs-stable-release.noarch.rpm

user@$ sudo yum install nodejs-compat-symlinks npm

然后我用 npm 安装了一个包。我在 Fedora 上使用 npm 安装的每个包(这不是我第一次)都涉及类似以下过程的过程。读之而泣。显然,这是错误的,但当我决定安装 less 或任何其他 npm 包时,我必须经历相同的过程。为什么?我的环境或方法有什么问题?

user@$ sudo npm install -g jslint
[... this works ... kind of]

user@$ jslint
bash: jslint: command not found

user@$ sudo su

root@$ jslint
No files specified.
Usage: /bin/jslint ... [works]

root@$ which jslint
/bin/jslint

root@$ ls -l jslint
lrwxrwxrwx. 1 root root 38 Jul 15 14:58 /bin/jslint -> /lib/node_modules/jslint/bin/jslint.js

root@$ cd /lib/node_modules; ls -l
...
drwxr-xr-x. 2 root root 4096 Jul 15 14:22 inherits
drwxr-xr-x. 2 root root 4096 Jul 15 14:22 ini
drwx------. 6 nobody usergroup 4096 Jul 15 14:58 jshint
drwxr-xr-x. 3 root root 4096 Jul 15 14:22 lru-cache
...

root@$ find . -type d -print0 | xargs -0 chmod 755

root@$ ls -l
...
drwxr-xr-x. 2 root root 4096 Jul 15 14:22 inherits
drwxr-xr-x. 2 root root 4096 Jul 15 14:22 ini
drwxr-xr-x. 5 nobody usergroup 4096 Jul 15 15:32 jslint
drwxr-xr-x. 3 root root 4096 Jul 15 14:22 lru-cache
...

root@$ su user

user@$ jslint
o files specified.
Usage: /bin/jslint [now it finally works]

最佳答案

如果使用 sudo 权限运行,最新版本的 npm 会切换到用户“nobody”作为安全措施。尝试在以 root 身份登录时进行全局安装,而不是使用 sudo。

关于node.js - 无法以用户身份运行 npm 安装的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11495068/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com