2013-02-28 113 views
32

我有一个项目依赖于几个第三方库。npm install git repository without package.json

我的package.json样子:

"dependencies": { 
    "vendor-name": "git://github.com/vendor/name.git#v1.1", 
    ... 
} 

这工作只要vendor-name库包含package.json

如果有没有这样的文件,我得到:

npm ERR! path /var/folders/0l/temp-folder/package.json 
npm ERR! code ENOENT 

实际上,一个npm install git://github.com/vendor/name.git#v1.1不起作用了。

所以我的问题是: 有没有一种方法来安装(包括)没有package.json git存储库(在dependencies)?

+2

我不认为这是可能的。如果repo不是你的,请将它分叉,并将它自己的'package.json'文件添加到它。也许,即使提交拉请求。 – 2013-03-01 06:44:00

+0

我想过按照建议使用纳帕,但我认为您的解决方案更好。 – 2015-12-07 18:58:19

回答

39

是的,你可以用这个包是不可能的:https://npmjs.org/package/napa

+6

有关如何使用NPM 3.0执行此操作的任何更新? – 2015-06-27 00:06:10

+1

在此工作(现在)。 – 2016-08-05 13:57:56

8

什么纳帕做似乎被过度设计。我认为只需在package.json中添加安装脚本就足够了。

"scripts": { 
    "install": "git clone https://github.com/vendor/name.git -b v1.1 node_modules/name" 
} 
+5

由于克隆可能会失败,因此在重新运行时可能会导致问题。 – Danosaure 2017-03-22 02:16:40