如何在当前目录中安装 npm 模块?
How to install a npm module in current directory?
我正在尝试将 express 安装到我当前的 "directory"。
但是节点在全球范围内安装它,我不明白,我怎么能告诉节点将它安装在我当前的目录中。
我还是终端菜鸟的时候问过这个问题。
解决方案很简单:
cd(使用命令行导航)到您要安装模块的目录,然后它应该可以正常工作。首先 npm init
是个好主意。
我在项目目录中安装节点模块时遇到了类似的问题,即使我没有指定“-g”全局标志。在 Linux 上,我在当前目录中安装的任何软件包最终都会安装到 ~/node_modules(即 /home/user/node_modules)。
npm install module in current directory 的线程中解释了原因和修复方法。简而言之,npm 在
所在的目录中查找 node_modules 子目录
npm install
被调用。如果找不到,npm 会继续向上移动,搜索该目录的祖先,直到找到 node_modules。假设一个 Linux 系统,如果在当前用户主页的最上层找不到,即 /home/user,它将在当前目录中创建 node_modules,这是必需的行为。但是我已经有一个 ~/node_modules 目录,不允许这种情况发生。
解决方法是首先 运行
npm init
在当前目录中,它以交互方式创建一个 package.json 文件,告诉 npm 我们正在该目录中创建一个包,并且任何依赖项都需要在包的本地,因此要求 node_modules/ 从而在本地安装节点包。
创建包后,json,在该目录中安装命令 运行 将在本地安装 express 等包。
我正在尝试将 express 安装到我当前的 "directory"。
但是节点在全球范围内安装它,我不明白,我怎么能告诉节点将它安装在我当前的目录中。
我还是终端菜鸟的时候问过这个问题。 解决方案很简单:
cd(使用命令行导航)到您要安装模块的目录,然后它应该可以正常工作。首先 npm init
是个好主意。
我在项目目录中安装节点模块时遇到了类似的问题,即使我没有指定“-g”全局标志。在 Linux 上,我在当前目录中安装的任何软件包最终都会安装到 ~/node_modules(即 /home/user/node_modules)。
npm install module in current directory 的线程中解释了原因和修复方法。简而言之,npm 在
所在的目录中查找 node_modules 子目录npm install
被调用。如果找不到,npm 会继续向上移动,搜索该目录的祖先,直到找到 node_modules。假设一个 Linux 系统,如果在当前用户主页的最上层找不到,即 /home/user,它将在当前目录中创建 node_modules,这是必需的行为。但是我已经有一个 ~/node_modules 目录,不允许这种情况发生。
解决方法是首先 运行
npm init
在当前目录中,它以交互方式创建一个 package.json 文件,告诉 npm 我们正在该目录中创建一个包,并且任何依赖项都需要在包的本地,因此要求 node_modules/ 从而在本地安装节点包。
创建包后,json,在该目录中安装命令 运行 将在本地安装 express 等包。