当我跑:
npm install my-app
该应用程序安装在node_modules/my-app/...
我也试过了
npm install -g my-app
但这也不起作用.
如何将模块直接安装到当前目录中?
jos*_*736 39
npm install在本地或全局安装软件包:
npm查找node_modules当前目录中调用的现有文件夹,并为您在该文件夹中安装的每个包创建一个文件夹.如果它node_modules在这里找不到现有的文件夹,那么它会查看当前目录的祖先,直到找到它为止.如果找不到,则在当前目录中创建一个.-g(全局)选项,则程序包将安装在全局位置.这个位置因Linux发行版而异,但   /usr/local/lib/node_modules/packagename只是一个例子.CentOS7使用/usr/lib/node_modules/packagename.只有-g当包装是您想要用作命令的东西时才应该使用.
就像全局变量有点粗略,但在某些情况下也是必要的,全局包很重要,但如果不需要,最好避免使用.
一般来说,经验法则是:
- 如果您正在安装要在程序中使用的内容
require('whatever'),请使用,然后在项目的根目录下在本地安装.- 如果您要在shell中安装要在shell中使用的东西,请在命令行上安装它,全局安装它,以便它的二进制文件最终在您的
PATH环境变量中.
npm不会将软件包的文件直接安装到当前目录中.
然而,这实际上是一件好事.它使依赖文件从您的应用程序分离,节点自动搜索node_modules,当文件夹中require的东西.
ach*_*zot 28
正如@dalu所说,如果你想拥有本地软件包,你需要一个package.json文件.
但要创建package.json文件,您必须通过运行初始化npmnpm init.
然后你可以使用npm install <module_name> --save[-dev].
小智 5
你应该package.json在你当前的目录中有一个.
然后写npm install <module_name> --save-dev或者npm install <module_name> --save它将安装到node_modules目录
小智 5
我认为真正的问题,我和 OP 想要的是安装我的应用程序,就像安装应用程序一样,即安装顶级应用程序,我将“使用”作为应用程序而不是“需要” "作为一个模块。
npm 安装在我的应用程序目录下一层的事实,纯粹是新 npm 用户的审美反对。
当我开始使用 npm 时(不久前),我通过将 git 项目作为安装程序来解决它,克隆 git,运行安装脚本,但现在我已经习惯了它并没有打扰我拥有该应用程序在“错误”文件夹中。
只需在正确的位置设置一些 .sh、.bat 或快捷方式,您的用户就不会注意到。
| 归档时间: | 
 | 
| 查看次数: | 50526 次 | 
| 最近记录: |