[英]How to add github dependency in package.json if package.json of second project not in the root of the project
[英]How to add a non-npm dependency to my package.json?
我正在尝试将node-browser-builtins的特定版本添加到我的package.json文件中,但它似乎不喜欢“commit-ish”修订版哈希。 查看npm的文档 ,看起来URLs as Dependencies
大多数选项都需要用户名。 我不想提供我的用户名..因为这真的没有意义。 这不应该与我的用户链接工作。
我尝试将此tarball添加为依赖项 - 当我在命令行上使用它时(即npm install
),它会起作用:
https://github.com/alexgorbatchev/node-browser-builtins/tarball/e5f81125f3c37532d7def0736265dbe87861e5e4
但它给了我这个错误: Error: 404 Not Found
。 看起来它在URL的末尾添加@
,这显然会使它失败。
我还在文档中尝试了选项1:
git://github.com/alexgorbatchev/node-browser-builtins.git#e5f81125f3c37532d7def0736265dbe87861e5e4
但它给了我错误:
npm ERR! Error: Command failed: fatal: ambiguous argument 'e5f81125f3c37532d7def0736265dbe87861e5e4@': unknown revision or path not in the working tree.
看起来它在这种情况下错误地添加了@
。
我得到它做这个工作:
git+https://myUserName@github.com/alexgorbatchev/node-browser-builtins.git#e5f81125f3c37532d7def0736265dbe87861e5e4
但同样,我不希望我的用户名与依赖关联。 那么你应该怎么做呢?
更多信息:我在Windows 7上,npm -v 1.2.24,我的package.json在数组( []
)中列出了依赖项,而不是对象。
---更新答案---
对于git,我现在使用存档路径:
https://github.com/fresheneesz/trimArguments/archive/e69ed3ebdfe6cf055916ba6e3a1e4b28f696da6f.tar.gz
- -旧 - -
我找到了一种方法来做到这一点,但我仍然想回答,我的问题是为什么我以前的尝试失败了。
我让它工作的方式是用git
替换我的用户名。 所以:
git+https://git@github.com/alexgorbatchev/node-browser-builtins.git#e5f81125f3c37532d7def0736265dbe87861e5e4
如果我需要从tarball添加依赖项,我仍然不知道如何做到这一点。 所以这不是一个完整的答案。
开源软件包有一个简单的解决方案:
package.json
文件的package.json
preinstall
, install
和可选的test
挂钩示例 package.json
{
"name": "foo",
"config": {
"port": "8080"
},
"scripts": {
"scripts": {
"preinstall" : "wget yourtar && tar -zxvf && cd to/your/folder && ./configure",
"install" : "make && make install",
"test" : "make test"
}
}
}
请确保您部署一个体面的,跨平台的(或至少跨尼克斯*)和可重复使用的包装用下面的准则 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.