2017-02-17 7 views
0

githubフォークをチェックインして、別のプロジェクトでnpm経由で消費しようとしました。npmはgithubサブフォルダを取得できません

使用RC-崩壊、一例として

URL: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のからフォークを使用し得ることができない、libフォルダやsrcフォルダでもないが、NPMコマンドを使用して取得されます。

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」コマンドは、いかなるソースコードが含まれていないと全く同じです。

nithはgithub urlですべてのサブフォルダを取得しますか?

+0

URLはリポジトリのフォークのURLであってはなりませんか? 'npm i --save 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プロジェクトを正しく使用するためには、githubプロジェクトごとにpackage.jsonを変更する必要があります。 – Eric

+0

@Eric np。私はちょうどそれを解決しようとしている間にそれを学んだが、それは将来の参照のために知って良いです。 btw、あなたが答えを受け入れるならば、それはあなたの質問を閉じたものとしてマークし、将来の他の人に役立つ – user3080953

関連する問題