CNode

大家不觉得npm在linux下有个权限问题吗?找喷!

问答
Rryanking8215发布于12 年前最后回复12 年前4 回复8421 浏览0 收藏

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)

A
alsotang#1·12 年前

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

J
jysperm#2·12 年前

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

J
jeremy16601#3·12 年前

没遇到过。。。

R
ryanking8215#4·12 年前
引用 alsotang呃。。从来没遇到过。。普通用户在没有 sudo 时,如果 g 安装呢?

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

参与回复
登录后即可参与回复。登录