Node.js CentOS 7上安装全局npm的理想目录

Node.js CentOS 7上安装全局npm的理想目录,node.js,npm,centos,Node.js,Npm,Centos,我有一个CentOS 7生产安装,它在/root/node\u模块中安装全局软件包。因此,它们不会在系统中全局可用。npm root也证实了这一点。当然,我可能会安装前缀,或任何类似的NVM-ish黑客;但我不想 我还尝试将全局必需的包安装为本地devdependency。一个副作用是,pm2集群模块并没有像我在另一台CentOS开发服务器上看到的那样在我所有的内核上生成进程,我在更多的系统上安装和使用了node/npm,数量远远超过我所想的,其中大多数是Linux/CentOS机器 NPM表示

我有一个CentOS 7生产安装,它在
/root/node\u模块中安装全局软件包。因此,它们不会在系统中全局可用。npm root也证实了这一点。当然,我可能会安装前缀,或任何类似的NVM-ish黑客;但我不想

我还尝试将全局必需的包安装为本地
devdependency
。一个副作用是,pm2集群模块并没有像我在另一台CentOS开发服务器上看到的那样在我所有的内核上生成进程,我在更多的系统上安装和使用了node/npm,数量远远超过我所想的,其中大多数是Linux/CentOS机器


NPM表示,全局包将保存在“在
/usr/local
或安装节点的任何位置”。这正是我所期望的,因此我尝试稍微调整配置编辑器,以避免运气不佳。似乎无论我做什么,全局包都保存在
/root/node_modules
中,并且无法通过
例如哪个nodemon
在整个系统中找到。我发布了这个问题。

npm root将打印安装文件的目录

将有效的节点_模块文件夹打印到标准输出

如果您在
~root
中,这将是
/root/node\u模块

但是,也可以使用全局参数开关查询全局文件的位置:

npm-g root
,这将解析为
/usr/lib/node\u模块
或类似模块
npm-g install..
将软件包安装到该全局安装目录

如果您想在全局可用的路径上安装本地包,可以将其安装到文件系统根目录
cd/
然后从那里
npm安装..
默认情况下,所有用户都有该文件夹的读取权限。节点将找到这些包

whitch
命令将查找
$PATH
中的二进制文件,而不是真正的npm包。您可以在
\bin
中创建符号链接,并使用npm打包的全局二进制文件,例如CLI命令

注意:在使用systemd的现代发行版上,您应该编写systemd服务,而不是运行nodemon,特别是如果您有许多系统永久运行