大家不觉得npm在linux下有个权限问题吗?找喷!
发布于 2个月前 作者 ryanking8215 367 次浏览 来自 问答

npm在用户~/下有.npm/目录,里面是保存的安装过的package,是平铺保存的,即每个包是独立的,谁也不套着谁。

在某个工程里通过npm install安装package.json里指定的依赖包,如果.npm里有的,则直接copy了,那么问题就来了:

通过sudo npm install -g A, 如果A依赖C,则连这C一起装了,放在了.npm下,权限是root.root,如果普通用户再安装 B,B也依赖C,然后npm就报C模块由于那啥权限原因,无法安装了。

每次碰到就跑到.npm下去chown -R.

4 回复

呃。。从来没遇到过。。普通用户在没有 sudo 时,如果 -g 安装呢?

应该是你某次 sudo install 的时候没有加 -g, 加了的话就不会写到当前用户的 home 里了

没遇到过。。。

@alsotang /usr/local/lib/普通用户没权限写,所以要sudo. 我知道os x是ok的,但是linux不是,如果有那个发行版是例外的,请告知一下。

回到顶部