Node.js 包管理器npm
具有全局安装包的选项。由于发行版通常有自己的包管理器,因此使用全局选项安全吗?包是否会npm
与分发包冲突并导致难以追溯的错误?
答案1
这取决于npm
安装时的配置方式。
如果npm
安装了在 Debian 上,来自发行版中包含的软件包,那么,是的,它是安全的。npm
使用全局选项安装到/usr/local
,这是明确为本地软件安装预留的,并且不应与操作系统发行版自己的安装发生冲突。
npm -g
安装到/usr/local
(/usr/local/lib/node_modules
、/usr/local/bin
等...),即使npm
它本身位于 ,/usr/bin
就像它本身是从操作系统发行版的 Debian 软件包安装的那样。
很可能还有其他适用上述内容的操作系统发行版。
另一方面,在 Fedora 上,npm
将软件包安装到/usr/lib/node_modules
(而不是在/usr/local
)。我不知道这是否安全。这取决于 Fedora 打包的 Nodejs 模块是否也去了/usr/lib/node_modules
或者它们是否去了其他地方。如果他们去别的地方,那就安全了。