guy*_*abi 798 github npm node-modules npm-install
尝试从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
Run Code Online (Sandbox Code Playgroud)
Pet*_*ons 1076
因为https://github.com/visionmedia/express是网页的URL而不是npm模块.使用这种味道:
git+https://git@github.com/visionmedia/express.git
Run Code Online (Sandbox Code Playgroud)
如果你需要SSH,还是这种味道:
git+ssh://git@github.com/visionmedia/express.git
Run Code Online (Sandbox Code Playgroud)
use*_*135 622
您也可以npm install visionmedia/express从Github安装
要么
npm install visionmedia/express#branch
Run Code Online (Sandbox Code Playgroud)
还支持直接从Gist,Bitbucket,Gitlab和许多其他专用格式进行安装.查看所有npm install 文档.
Ami*_*esh 152
如果没有安装git,我们可以试试
npm install --save https://github.com/Amitesh/gulp-rev-all/tarball/master
Run Code Online (Sandbox Code Playgroud)
Fer*_*gie 48
2016年9月更新
从vanilla https github URL安装现在似乎工作:
npm install https://github.com/fergiemcdowall/search-index.git
Run Code Online (Sandbox Code Playgroud)
编辑:有几个用户评论说您无法为所有模块执行此操作,因为您正在从源控制系统中读取,这可能包含无效/未编译/错误代码.所以要清楚(虽然它应该不言而喻):鉴于repo中的代码处于npm可用状态,你现在可以非常愉快地直接从github安装
Col*_*n D 35
Peter Lyons目前的最佳答案与最近的NPM版本无关.例如,使用在这个答案中被批评的相同命令现在很好.
$ npm install https://github.com/visionmedia/express
Run Code Online (Sandbox Code Playgroud)
如果您继续遇到问题,那么您使用的任何软件包都可能存在问题.
Oma*_*iri 32
这对我有用,而且打字更少。
npm i github:<UserName>/<RepoName>
Run Code Online (Sandbox Code Playgroud)
package.json
{
"dependencies": {
"name": "github:<UserName>/<RepoName>"
}
}
Run Code Online (Sandbox Code Playgroud)
nex*_*ech 30
这些方法现在在npm的安装文档以及其他许多答案中都有很好的介绍.
npm install git+ssh://git@github.com:<githubname>/<githubrepo.git[#<commit-ish>]
npm install git+ssh://git@github.com:<githubname>/<githubrepo.git>[#semver:^x.x]
npm install git+https://git@github.com/<githubname>/<githubrepo.git>
npm install git://github.com/<githubname>/<githubrepo.git>
npm install github:<githubname>/<githubrepo>[#<commit-ish>]
Run Code Online (Sandbox Code Playgroud)
但是,最近发生了变化的一件事是npm添加prepare脚本来替换prepublish脚本. 这解决了一个长期存在的问题,即通过git安装的模块没有运行prepublish脚本,因此没有完成将模块发布到npm注册表时发生的构建步骤.请参阅https://github.com/npm/npm/issues/3055.
当然,模块作者需要更新他们的package.json以使用new prepare指令开始工作.
Sag*_*fek 18
现在更新您可以:npm install git://github.com/foo/bar.git
或在package.json:
"dependencies": {
"bar": "git://github.com/foo/bar.git"
}
Run Code Online (Sandbox Code Playgroud)
ish*_*007 17
语法的一般形式是
<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
Run Code Online (Sandbox Code Playgroud)
这意味着你的情况
npm install git+ssh://git@github.com/visionmedia/express.git
Run Code Online (Sandbox Code Playgroud)
来自npmjs文档:
npm安装:
从托管的git提供程序安装包,使用git克隆它.对于完整的git远程URL,只会尝试该URL.
Run Code Online (Sandbox Code Playgroud)<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish>| #semver:]是git,git + ssh,git + http,git + https或git +文件之一.
如果提供了#,它将用于完全克隆该提交.如果commit-ish的格式为#semver:,则可以是任何有效的semver范围或精确版本,npm将查找远程存储库中与该范围匹配的任何标记或引用,就像它对注册表依赖项一样.如果不是#或
semver:指定,然后使用master.
如果存储库使用子模块,那么也将克隆这些子模块.
如果正在安装的软件包包含一个prepare脚本,则将安装其依赖项和devDependencies,并在打包和安装软件包之前运行prepare脚本.
以下git环境变量由npm识别,并在运行git时添加到环境中:
- GIT_ASKPASS
- GIT_EXEC_PATH
- GIT_PROXY_COMMAND
- GIT_SSH
- GIT_SSH_COMMAND
- GIT_SSL_CAINFO GIT_SSL_NO_VERIFY
有关详细信息,请参阅git手册页.
例子:
Run Code Online (Sandbox Code Playgroud)npm install git+ssh://git@github.com:npm/npm.git#v1.0.27 npm install git+ssh://git@github.com:npm/npm#semver:^5.0 npm install git+https://isaacs@github.com/npm/npm.git npm install git://github.com/npm/npm.git#v1.0.27 GIT_SSH_COMMAND='ssh -i ~/.ssh/custom_ident' npm install git+ssh://git@github.com:npm/npm.git npm install
sul*_*rza 15
Sometimes I need to install from a specific branch or commit. To make things simple I just use https://gitpkg.vercel.app/
Tyl*_*ong 14
直接安装:
npm install visionmedia/express
Run Code Online (Sandbox Code Playgroud)
或者,您可以添加"express": "github:visionmedia/express"到文件"dependencies"部分package.json,然后运行:
npm install
Run Code Online (Sandbox Code Playgroud)
你也可以这样做
npm i alex-cory/fasthacks
Run Code Online (Sandbox Code Playgroud)
要么
npm i github:alex-cory/fasthacks
Run Code Online (Sandbox Code Playgroud)
基本上:
npm i user_or_org/repo_name
Run Code Online (Sandbox Code Playgroud)
简单的:
npm install *GithubUrl*.git --save
Run Code Online (Sandbox Code Playgroud)
例子:
npm install https://github.com/visionmedia/express.git --save
Run Code Online (Sandbox Code Playgroud)
您可以直接安装一个GitHub库npm install命令,如下所示:
npm install https://github.com/futurechallenger/npm_git_install.git --save
注意:在将通过npm命令安装的仓库中:
| 归档时间: |
|
| 查看次数: |
442117 次 |
| 最近记录: |