2016-11-12 5 views
4

npm i --save https://github.com/yagop/node-telegram-bot-api.gitthis moduleをインストールしようとしています。npmインストール時のディレクトリとファイルがありません

私がnpm i --save node-telegram-bot-apiを避ける理由は、最近追加されたメソッド(sendContactなど)が必要なことです。

私がインストールすると、予想通り、それは私のpackage.jsonに追加されます:

"node-telegram-bot-api": "git+https://github.com/yagop/node-telegram-bot-api.git", 

しかし、私はこのモジュールを使用しているアプリケーションを実行しようとすると、それは言う:少しチャンスをうかがった後

Error: Cannot find module './src/telegram' 

をそれは、srcと他のいくつかのディレクトリがないことが判明しました。ここにはtree出力:

$ tree ./node_modules/node-telegram-bot-api 
./node_modules/node-telegram-bot-api 
├── CONTRIBUTING.md 
├── index.js 
├── LICENSE.md 
├── node_modules 
(second one is skipped) 
├── package.json 
├── README.hbs 
└── README.md 

なぜですか?それをどうやって修正することができますか?

私はnpm cache cleanrm -rf ./node_modules/node-telegram-bot-apiを試してみましたが、何も助けてくれません。

答えて

5

問題は、リポジトリが.nmpignore fileが含まれていることで、次のファイルとディレクトリは、インストール時に無視されます。

# lcov 
coverage/ 
*.log 
.package.json 

# artifacts & source 
README.hbs 
output.md 
output/ 
src/ 
test/ 
examples/ 
lib-doc/ 

# dotfiles 
.travis.yml 
.eslintrc 
.eslintignore 
.editorconfig 
.babelrc 
.gitignore 
.git 

ですから、リポジトリから最新バージョンを使用したい場合、あなたはそれをダウンロードしてインストールする必要があります手動でそのように:

cd ./node_modules 
git clone https://github.com/yagop/node-telegram-bot-api 
cd ./node_modules/node-telegram-bot-api 
npm install 

Upd。:(imho)この場合、モジュール用にプライベートレジストリを使用するのが適切です。たとえば、sinopiaです。

+0

ありがとう!それは理にかなっている。 Btw、なぜ個人用レジストリを使用するのが適切だと思いますか?どうぞお分かりですか?ありがとうございます –

+0

@RomanPushkinこの場合、gitリポジトリから更新パッケージを透過的に自動化することができます。そして、アップグレードパッケージが 'npmjs.com'からいつ来るのを待ってはいけません。 –

関連する問題