Dan*_*ley 187 deployment dependencies node.js npm
我有一个网络应用程序:fooapp.我有一个package.json根.我想在特定的安装中安装所有依赖项node_modules directory.我该怎么做呢?
可以说我有两个widget依赖项.我想最终得到这样的目录结构:
node_modules/
widgetA
widgetB
fooapp/
package.js
lib
..
Run Code Online (Sandbox Code Playgroud)
我跑的时候npm install fooapp/ 得到这个:
node_modules/
fooapp/
node_modules/
widgetA
widgetB
package.js
lib/
..
fooapp/
package.js
lib/
..
Run Code Online (Sandbox Code Playgroud)
npm在node_modules目录中创建我的app目录的副本,并将这些包安装在另一个 node_modules目录中.
我理解这对于安装包是有意义的.但我不是require()我的网页应用程序,我直接运行它.我正在寻找一种简单的方法来将我的依赖项安装到特定的node_modules目录中.
ire*_*ick 358
运行:
npm install
Run Code Online (Sandbox Code Playgroud)
从您的应用程序目录中(即其中的package.json所在地)将安装依赖于你的应用程序,而不是将它安装为一个模块,如本文所述.这些将放在相对于你的package.json文件的./node_modules中(它实际上比这稍微复杂一些,所以请在这里查看npm文档).
如果需要,您可以自由地将node_modules目录移动到应用程序的父目录,因为节点的'require'机制可以理解这一点.但是,如果您想使用install/update更新应用程序的依赖项,则npm将不会看到重定位的"node_modules",而是相对于package.json创建一个新的目录.
要防止这种情况,只需从app dir创建一个符合重定位的node_modules的符号链接:
ln -s ../node_modules node_modules
Run Code Online (Sandbox Code Playgroud)
aes*_*ede 14
就我而言,我需要这样做
sudo npm install
Run Code Online (Sandbox Code Playgroud)
我的项目在/ var/www里面,所以我还需要设置适当的权限.
| 归档时间: |
|
| 查看次数: |
222762 次 |
| 最近记录: |