我有一个网页应用:fooapp。我有一个包裹。Json在根目录中。我想在特定的node_modules目录中安装所有依赖项。我怎么做呢?
我想要什么
假设我有两个小部件依赖项。我想以这样的目录结构结束:
node_modules/
widgetA
widgetB
fooapp/
package.js
lib
..
我得到了什么
当我运行npm install fooapp/我得到这个:
node_modules/
fooapp/
node_modules/
widgetA
widgetB
package.js
lib/
..
fooapp/
package.js
lib/
..
NPM在node_modules目录下复制我的app目录,并将包安装到另一个node_modules目录中。
我知道这对于安装包是有意义的。但是我不需要()我的web应用程序在其他东西里面,我直接运行它。我正在寻找一种简单的方法来安装我的依赖到一个特定的node_modules目录。
运行:
npm install
在你的应用程序目录(即where包。Json被定位)将为你的应用安装依赖项,而不是像这里描述的那样将其作为一个模块安装。它们将相对于您的包放置在./node_modules中。Json文件(它实际上比这个稍微复杂一点,所以检查这里的NPM文档)。
如果你愿意,你可以自由地将node_modules目录移动到应用程序的父目录,因为节点的'require'机制理解这一点。然而,如果你想用install/update更新你的应用的依赖,npm将不会看到重新定位的'node_modules',而是创建一个新的dir,同样是相对于package.json。
为了防止这种情况,只需从你的应用程序目录中创建一个指向重新定位的node_modules的符号链接:
ln -s ../node_modules node_modules
运行:
npm install
在你的应用程序目录(即where包。Json被定位)将为你的应用安装依赖项,而不是像这里描述的那样将其作为一个模块安装。它们将相对于您的包放置在./node_modules中。Json文件(它实际上比这个稍微复杂一点,所以检查这里的NPM文档)。
如果你愿意,你可以自由地将node_modules目录移动到应用程序的父目录,因为节点的'require'机制理解这一点。然而,如果你想用install/update更新你的应用的依赖,npm将不会看到重新定位的'node_modules',而是创建一个新的dir,同样是相对于package.json。
为了防止这种情况,只需从你的应用程序目录中创建一个指向重新定位的node_modules的符号链接:
ln -s ../node_modules node_modules