我在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
无法从资源库获取源代码?
答案 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
中。