问题
对于从源代码安装,我在npm install上遇到错误
我还附上了由 npm install 生成的调试日志。
我尝试了以下解决方法
1) 在 github 上创建 SSH pub/priv 密钥对
这样做之后,我可以手动运行在 npm 中失败的命令,没有问题
/usr/bin/git ls-remote -h -t ssh://[email protected]/seonim-ryu/Squire.git
2) 尝试强制 git 使用 https 而不是 git
git config --global url."https://github.com/".insteadOf [email protected]:
git config --global url."https://".insteadOf git://
如何重现问题
我创建了一个执行以下内容的脚本
yum install rh-python36* -y
yum install rh-nodejs12* -y
yum install gcc-c++ -y
yum groupinstall "Development tools" -y
source scl_source enable rh-nodejs12 rh-python36
git clone https://github.com/chakki-works/doccano.git
cd doccano
virtualenv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
cd frontend
npm install
错误信息
[root]# npm i
npm WARN deprecated [email protected]: use String.prototype.padStart()
npm WARN deprecated [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t ssh://[email protected]/seonim-ryu/Squire.git
npm ERR!
npm ERR! fatal: failed to stat '.': Permission denied
npm ERR!
npm ERR! exited with error code: 128
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-01-17T14_05_41_472Z-debug.log
[root]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)
[root]# yum list installed | grep rh-python
rh-python36.x86_64 2.0-1.el7 @rhel-server-rhscl-7-rpms
[root]# python --version
Python 3.6.9
[root]# yum list installed | grep pip
rh-python36-python-pip.noarch 9.0.1-2.el7 @rhel-server-rhscl-7-rpms
[root]# pip --version
pip 9.0.1 from /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages (python 3.6)
[root]# yum list installed | grep -A 2 virtualenv
rh-python36-python-virtualenv.noarch 15.1.0-2.el7 @rhel-server-rhscl-7-rpms
[root]# virtualenv --version
15.1.0
[root]# yum list installed | grep npm
rh-nodejs12-npm.x86_64 6.10.3-12.10.0.4.el7 @rhel-server-rhscl-7-rpms
[root]# npm --version
6.10.3
[root]# yum list installed | grep rh-node
rh-nodejs12.x86_64 3.4-1.el7 @rhel-server-rhscl-7-rpms
[root]# node --version
v12.10.0
[root]# yum list installed | grep git
git.x86_64 1.8.3.1-20.el7 @rhel-7-server-rpms
[root]# git --version
git version 1.8.3.1
[root]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
这最近失败了,就像今天一样。
2020-01-17T16_49_58_359Z-debug.log
此错误似乎不是由于 doccano 而是您的网络设置。 请首先确认您可以从 git 正确npm install
。
不是很清楚你的意思是 npm install from git。 你能详细说明一下吗? 你说的是什么网络设置?
我提到我可以毫无问题地运行以下命令
/usr/bin/git ls-remote -h -t ssh://[email protected]/seonim-ryu/Squire.git
但是,当它通过 npm 运行时就是失败的时候。 我不确定为什么这个特定的存储库像许多其他存储库一样使用 git(ssh 协议)链接而不是 https。
好的,我找到了现在有效的方法。
显然,当您将 npm 作为 sudo-ed 会话运行时,就会发生这种情况。
必须更改文件/文件夹的权限并以标准用户身份运行。
最有用的评论
好的,我找到了现在有效的方法。
显然,当您将 npm 作为 sudo-ed 会话运行时,就会发生这种情况。
必须更改文件/文件夹的权限并以标准用户身份运行。