1074

GitHub からモジュールをインストールしようとすると、次のエラーが発生します。

package.json の ENOENT エラー。

エクスプレスを使用して簡単に再現:

npm install https://github.com/visionmedia/expressエラーをスローします。

npm install express 動作します。

GitHub からインストールできないのはなぜですか?

コンソール出力は次のとおりです。

npm http GET https://github.com/visionmedia/express.git
npm http 200 https://github.com/visionmedia/express.git
npm ERR! not a package /home/guym/tmp/npm-32312/1373176518024-0.6586997057311237/tmp.tgz
npm ERR! Error: ENOENT, open '/home/guym/tmp/npm-32312/1373176518024-0.6586997057311237/package/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.8.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "https://github.com/visionmedia/express.git"
npm ERR! cwd /home/guym/dev_env/projects_GIT/proj/somename
npm ERR! node -v v0.10.10
npm ERR! npm -v 1.2.25
npm ERR! path /home/guym/tmp/npm-32312/1373176518024-0.6586997057311237/package/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/guym/dev_env/projects_GIT/proj/somename/npm-debug.log
npm ERR! not ok code 0
4

19 に答える 19

1407

https://github.com/visionmedia/expressは Web ページの URL であり、npm モジュールではないためです。このフレーバーを使用します。 git+{url}.git

git+https://github.com/visionmedia/express.git

または、SSH が必要な場合はこのフレーバー:

git+ssh://git@github.com/visionmedia/express.git
于 2013-07-07T06:19:15.943 に答える
770

npm install visionmedia/expressGitHub からインストールすることもできます。

または

npm install visionmedia/express#branch

Gist、Bitbucket、GitLab、およびその他の多くの特殊な形式から直接インストールすることもサポートされています。それらすべてのnpm installドキュメントを見てください。

于 2014-02-20T20:15:46.153 に答える
83

2016 年 9 月の時点で、標準の HTTPS GitHub URL からのインストールが機能するようになりました。

npm install https://github.com/fergiemcdowall/search-index.git

ソース管理システムから読み取っているため、すべてのモジュールに対してこれを行うことはできません。これには、無効な/コンパイルされていない/バグのあるコードが含まれている可能性があります。明確にするために (言うまでもありませんが):リポジトリ内のコードが npm で使用可能な状態にあるとすれば、GitHub から直接簡単にインストールできるようになりました。

2019 年 10 月に「TypeScript / React / Babelのピーク」を迎え、JavaScript のコンパイルが一般的になりました。コンパイルを考慮する必要がある場合は、 を調べてprepareください。とは言っても、NPM モジュールはコンパイルする必要はありません。コンパイルはデフォルトではないと想定するのが賢明です。特に古いノード モジュールの場合 (そして、非常に新しい最先端の「ESNext」モジュールの場合も同様です)。

于 2016-09-14T12:07:15.770 に答える
59

npm install https://github.com/{USER}/{REPO}/tarball/{BRANCH}別のブランチを使用することもあります。

于 2016-05-18T09:38:00.620 に答える
43

Peter Lyons による現在の上位の回答は、最近の NPM バージョンとは関係ありません。たとえば、この回答で批判されたのと同じコマンドを使用しても問題ありません。

npm install https://github.com/visionmedia/express

問題が続く場合は、使用していたパッケージに問題がある可能性があります。

于 2016-05-02T16:08:49.700 に答える