为什么yarn install检出github仓库依赖项,而npm install却没有呢?

时间:2019-07-08 14:25:09

标签: node.js typescript github npm yarnpkg

我在package.json中列出了一个github存储库(如果重要的话是TypeScript项目):

"ethereumjs-vm": "git+https://github.com/ethereumjs/ethereumjs-vm.git#v4.0.0-beta.1"

我想在自己的项目中扩展此公共项目的某些类。使用yarn install,可以将整个存储库检出/复制(不是真正的git clone,因为我无法运行git命令)到node_modules/ethereumjsvm中。

使用npm install https://github.com/ethereumjs/ethereumjs-vm/tarball/v4.0.0-beta.1 --save也会检出代码。

npm install中,node_modules/ethereumjsvm仅获得4个文件:changelog,license,package.json和自述文件。

有什么区别?为什么npm install无法从资源库获取源代码?

1 个答案:

答案 0 :(得分:0)

Aaron Bell为我提供了答案:我要包括的github项目files中的package.json属性仅包含dist文件夹:

"files": [
   "dist/**/*"
]

这意味着npm install将忽略存储库中的所有其他文件(始终安装的更新日志,许可证,package.json和自述文件除外,请参见package.json files docs)。 yarn似乎有一个错误,该files属性被忽略(issue)。

此后,我尝试了npm install在github上的一个项目,该项目在files中没有package.json属性,并且可以正常工作-源代码存储在node_modules中。