使用package.json在全局和本地安装依赖项
使用npm,我们可以使用-g
option 在全局安装模块。我们如何在package.json文件中执行此操作?
假设这些是我在package.json文件中的依赖项
"dependencies": { "mongoose": "1.4.0",
"node.io" : "0.3.3",
"jquery" : "1.5.1",
"jsdom" : "0.2.0",
"cron" : "0.1.2"
}
当我运行时npm install
,我只想node.io
全局安装,其余的应该本地安装。有这个选项吗?
回答:
您可能不需要或不需要这样做。您可能想要做的就是将那些用于构建/测试等命令依赖关系的类型放在devDependencies
package.json
的部分中。
例如:
npm i --save-dev mocha # Install test runner locallynpm i --save-dev babel # Install current babel locally
然后在package.json中:
// devDependencies has mocha and babel now"scripts": {
"test": "mocha",
"build": "babel -d lib src",
"prepublish": "babel -d lib src"
}
然后在命令提示符下运行:
npm run build # finds babelnpm test # finds mocha
npm publish # will run babel first
但是, 如果您 确实 要全局安装,则可以在package.json的脚本部分中添加预安装:
"scripts": { "preinstall": "npm i -g themodule"
}
所以实际上我的npm install再次执行npm install ..这很奇怪,但似乎可以正常工作。
如果您使用最常见的安装npm
程序来安装全局Node软件包,则可能会遇到问题sudo
。一种选择是更改您的npm
配置,因此没有必要:
npm config set prefix ~/npm
,通过将$ HOME / npm / bin附加export
PATH=$HOME/npm/bin:$PATH到$ PATH来将其添加到$ PATH中~/.bashrc
。
以上是 使用package.json在全局和本地安装依赖项 的全部内容, 来源链接: utcz.com/qa/429044.html