运行应用程序时安装NPM包

时间:2016-11-23 13:31:38

标签: node.js npm

我可以在执行npm时强制Node.JS安装require('package') - package 而不是触发错误?

比为每个包运行npm i package更方便。

3 个答案:

答案 0 :(得分:5)

应该通过package.json文件管理依赖包。 这是因为您可以轻松管理应用程序所需的软件包版本。我不认为在运行时安装依赖是一个好习惯。

参考:Using a package.json

答案 1 :(得分:1)

理论上,您可以修改require以启动cmd并在未找到的情况下安装包。这将是艰难的,非标准的和可怕的。

您可以改为使用package.json,您可以使用npm init自动创建。{/ p>

它会询问包裹的名称和其他一些问题,然后当您知道需要哪个包裹时,您可以

npm install --save package

会自动在package.json中添加包。

设置package.json后,您只需运行

即可
npm install

它会自动安装package.json中声明的每个包。

它将拥有其他不错的专业人员,比如允许您确保将安装哪个版本的软件包(防止依赖项中的重大更改),知道您的依赖项是什么而不导航您的代码,并准备将代码推送到npm

答案 2 :(得分:1)

您不能设置Node.js来执行此操作(因为Node实际上并不知道npm)。

我不建议做这样的事情;如果您错误输入了包名,则会下载错误的包,可能在您的计算机上运行恶意代码。

请记住,任何人都可以发布npm包,并且包可以在安装过程中运行任何命令(包括rm -rf)。

请按照以下风险承担风险:

您可以使用https://github.com/siddharthkp/auto-install获得类似行为的内容。

npm install -g auto-install
cd project-name/
auto-install

我建议--secure使用auto-install选项。这只会安装流行的模块(上个月下载量超过1万)。这将消除一些拼写错误的风险,但是,如果您使用的是不常见的包,则不会自动安装。