ant*_*paw 15 javascript node.js npm
$ npm install
my_module@0.0.1 /Users/antpaw/my_module
??? my_module@0.0.1
??? UNMET PEER DEPENDENCY request@^2.74.0
npm WARN my_module@0.0.1 requires a peer of request@^2.74.0 but none was installed.
Run Code Online (Sandbox Code Playgroud)
我不明白这怎么可能只是一个警告.如果"请求"未安装且我的应用程序崩溃,对我的应用程序来说这是一个非常大的交易.
我怎样才能让npm install一个退出1如果对等的依赖是未满足或者是有什么样npm do-i-have-everything-i-need-installed的命令,将与退出1?
您最有可能使用的是 npm@3(版本 3)。
如文档中所述,peerDependencies在大多数情况下,npm 版本 1 和 2 用于安装。Npm 版本 3 更改了此行为,不再安装peerDependencies,而是在peerDependencies未安装时发出警告。
npm 版本 1 和 2 将自动安装 peerDependencies,如果它们在依赖关系树中没有显式依赖。在 npm 的下一个主要版本 (npm@3) 中,情况将不再如此。您将收到一条警告,指出未安装 peerDependency。
更改背后的原因主要是为了避免使用peerDependencies或大部分时间peerDependencies错误使用时的依赖关系。上有一些问题NPM Github上关于peerDependencies像这样一个解释一些问题,是什么导致了解决无法安装peerDependencies了。
如果您的应用程序在request未安装的情况下崩溃,则您主要需要它。目前,在 npm 环境中,dependencies包是你require(),devDependencies是你require()只用于开发、测试等的包。
peerDependencies最初旨在解决主要是其他框架或库的“插件”包的问题,旨在与另一个“主机”包一起使用,即使它们不直接使用或需要“主机”包。
例如,Grunt 插件旨在与 Grunt 一起使用,但绝不是require('grunt');. 添加grunt为 adependencies将导致永远不会使用的包的新下载副本。即使某些插件直接依赖于 'host' 包并在dependencies.
ApeerDependencies是一种说法,当插入一个“主机”包的版本时,一个包可以工作,所以如果你安装了这个包,你也应该手动安装另一个包。
这就是你目前有,你安装应用程序,上市行为request的peerDependencies,所以你应该为它安装工作,并删除了警告,否则,你需要移动到一个经典dependencies。
看起来我已经找到了一种方法,可以在执行我需要运行的1一般操作后/之前(我认为顺序无关紧要)退出,该方法将以 退出。这意味着我可以定义一个模块列表,我想确保在我的 CI 脚本中准确地包含它们所需的内容(在 中定义),虽然不太漂亮,但总比没有好。npm installnpm install my_module1peerDependencies
因此npm install,无论您在package.json. npm install module_name如果你的 .txt 文件中有废话,就会崩溃package.json。
| 归档时间: |
|
| 查看次数: |
3659 次 |
| 最近记录: |