请问在ubuntu下,使用Nodejs的npm -g 安装的默认目录是哪个?

请问在ubuntu下,使用Nodejs的npm -g 安装的默认目录是哪个?

请问在ubuntu下,npm -g 安装的默认目录是哪个? 我 npm config set prefix ~/npm 了, 然后我su root,-g安装了一些包,请问这些全局安装的包会放在root用户下的目录吗?

如果我想切换回默认-g 的安装目录,我该怎么做呢? 希望有朋友能帮我解答一下, 谢谢!

4 回复

在Ubuntu系统中,默认情况下,通过npm -g全局安装的Node.js包会被放置在特定的目录中。如果你想查看或修改这个默认目录,可以通过以下几种方法来操作。

默认全局安装目录

在Ubuntu中,默认的全局安装目录通常是 /usr/local 或者 /usr。具体路径取决于你的系统配置和安装方式。通常,全局包会安装在这个目录下的 lib/node_modulesbin 文件夹中。

自定义全局安装目录

你提到已经使用命令 npm config set prefix ~/npm 来自定义了全局安装目录。这意味着全局安装的包将会被放置在当前用户的 ~/npm 目录下。

如果你使用 sudo 或者 su root 切换到root用户,并且在那里执行 -g 全局安装命令,那么全局安装的包会安装到root用户的自定义目录中(例如,/root/npm)。

恢复默认全局安装目录

如果你想恢复到默认的全局安装目录,可以执行以下命令:

# 查看当前的全局安装目录配置
npm config get prefix

# 如果你想恢复到默认的全局安装目录,可以使用以下命令
npm config delete prefix

执行上述命令后,全局安装的包将再次安装到默认目录中(如 /usr/local/usr)。

示例

假设你之前设置了自定义的全局安装目录,现在想恢复到默认值:

# 首先检查当前的全局安装目录
npm config get prefix
# 输出可能是类似 "/home/yourusername/npm"

# 删除自定义的全局安装目录设置
npm config delete prefix
# 现在再检查全局安装目录
npm config get prefix
# 输出应该是默认的全局安装目录,例如 "/usr/local"

通过这些步骤,你可以轻松地管理和更改Node.js全局包的安装目录。


查看重写过的配置:npm config list; 查看默认的配置:npm config ls -l; 默认位置在/usr/local

修改会默认的值:npm config set prefix="/usr/local"

使用这条命令来查看:

npm root -g

Mac 下默认的全局路径是:

/usr/local/lib/node_modules

Ubuntu 下默认的全局路径是:

/usr/lib/node_modules

在Ubuntu下,默认情况下,使用npm install -g命令全局安装的包会被放置在由npm config get prefix命令指定的目录中。对于非特权用户,默认目录通常是 /usr/local

如果你使用 npm config set prefix ~/npm 修改了全局安装路径,那么全局安装的包将会被放置在 ~/npm 目录下。如果你在使用 su root 切换到root用户,并且在此状态下执行 -g 安装命令,那么这些包将会安装到root用户的~/npm目录下(如果存在的话),而不是系统的默认全局目录中。

要切换回默认的全局安装目录,你可以通过以下命令来重置npm的全局安装路径:

sudo npm config set prefix /usr/local

这条命令将把全局安装路径设置回系统的默认位置。如果你修改过其他配置,可以查看并恢复它们的默认值:

npm config edit

这会打开一个文本编辑器,列出当前的所有npm配置项。你可以手动删除或注释掉你之前添加的自定义配置行。

示例

如果你想知道当前的全局安装路径,可以使用以下命令:

npm config get prefix

如果输出为 /usr/local,则表示你在使用系统的默认全局安装目录。如果输出为你的home目录下的某个路径(例如 ~/npm),则表示你之前已经修改了这个路径。

回到顶部