2017-02-17 75 views
0

我有一个检查github分叉,并试图通过npm在另一个项目中消耗。npm无法获取github子文件夹

使用RC-崩溃,因为例如

网址:https://www.npmjs.com/package/rc-collapse

github上:https://github.com/react-component/collapse

npm install rc-collapse 
cd node_modules 
cd rc-collapse 
dir 

02/17/2017 11:21 PM <DIR>   . 
02/17/2017 11:21 PM <DIR>   .. 
02/17/2017 11:21 PM <DIR>   assets 
02/17/2017 11:21 PM    703 HISTORY.md 
02/17/2017 11:21 PM <DIR>   lib 
02/17/2017 11:21 PM    1,083 LICENSE.md 
02/17/2017 11:21 PM    3,140 package.json 
02/17/2017 11:21 PM    4,073 README.md 

但是,明确的文件夹后,并使用以下NPM

npm install https://github.com/react-component/collapse 
cd node_modules 
cd rc-collapse 
dir 

02/17/2017 11:29 PM <DIR>   . 
02/17/2017 11:29 PM <DIR>   .. 
02/17/2017 11:29 PM    747 HISTORY.md 
02/17/2017 11:29 PM    1,092 LICENSE.md 
02/17/2017 11:29 PM    8,313 package.json 
02/17/2017 11:29 PM    4,244 README.md 

,再次清除文件夹和我们之后E以下的git命令,

cd node_modules 
git clone https://github.com/react-component/collapse rc-collapse 
cd rc-collapse 
dir 

02/17/2017 11:38 PM <DIR>   . 
02/17/2017 11:38 PM <DIR>   .. 
02/17/2017 11:38 PM    216 .gitignore 
02/17/2017 11:38 PM    625 .travis.yml 
02/17/2017 11:38 PM <DIR>   assets 
02/17/2017 11:38 PM <DIR>   examples 
02/17/2017 11:38 PM    747 HISTORY.md 
02/17/2017 11:38 PM    37 index.js 
02/17/2017 11:38 PM    1,092 LICENSE.md 
02/17/2017 11:38 PM    1,482 package.json 
02/17/2017 11:38 PM    4,244 README.md 
02/17/2017 11:38 PM <DIR>   src 
02/17/2017 11:38 PM <DIR>   tests 

问题/问题,我不能让/从GitHub用叉子,既不使用NPM命令lib文件夹也不src文件夹被取出。

git clone不是解决方案,因为npm是在package.json抓取机制中使用的。

"dependencies": { 
    "rc-collapse": "git+https://github.com/react-component/collapse.git", 
    "react": "^15.4.2", 
    "react-dom": "^15.4.2" 
    } 

由“NPM更新”命令产生的文件夹结构是作为“NPM安装https://github.com/react-component/collapse”命令这是不可用的,包括没有源代码完全相同。

npm如何通过github url获取所有子文件夹?

+0

不应该将URL作为存储库分叉的URL吗? 例如'npm我 - 保存https:// github.com/YOUR_USERNAME/collapse.git' – user3080953

+0

从我的存储库或任何存储库获取任何不同的内容?我也尝试过我的存储库,没有取得子文件夹。 – Eric

+0

你能给我一个链接到你的回购?那么我会更好地知道你在说什么 – user3080953

回答

1

原始软件包的作者已将某些文件设置为package.json。这意味着当您运行npm install时它不会被拉动。看到这个:https://github.com/npm/npm/wiki/Files-and-Ignores

解决方法:从package.json删除以下内容。或者,您可以添加您需要的文件夹。

"files": [  
    "lib",  
    "assets/*.css"  
], 
+0

非常感谢您,这就是答案。以前认为npm github会和npm注册表完全一样,但不是这样。现在我必须修改每个github项目的package.json以便正确使用它。 – Eric

+0

@Eric np。我刚刚在试图解决这个问题时了解到,但很高兴知道以供将来参考。顺便说一句,如果你接受答案,它会标记你的问题是封闭的,对未来的其他人有帮助 – user3080953