Node.js 节点:npm错误!无法在npm安装上获取缓存状态

Node.js 节点:npm错误!无法在npm安装上获取缓存状态,node.js,npm,docker,Node.js,Npm,Docker,我正在运行node和npm,在Docker容器中安装了nvm以运行测试。NPM安装由拥有自己节点安装的非root用户运行。出于某种原因,我必须像这样调用节点/home/user/.nvm/v0.10.33/bin/node和类似于/home/user/.nvm/v0.10.33/bin/npm的npm。。。这导致了问题,并给了我一个“/usr/bin/env”“节点”不存在,因此我将/home/user/.nvm/v0.10.33/bin/node符号链接到/usr/bin/node,事情又开始

我正在运行node和npm,在Docker容器中安装了nvm以运行测试。NPM安装由拥有自己节点安装的非root用户运行。出于某种原因,我必须像这样调用节点/home/user/.nvm/v0.10.33/bin/node和类似于/home/user/.nvm/v0.10.33/bin/npm的npm。。。这导致了问题,并给了我一个“/usr/bin/env”“节点”不存在,因此我将/home/user/.nvm/v0.10.33/bin/node符号链接到/usr/bin/node,事情又开始了。但现在我发现了一个奇怪的错误

我搜索了这个错误,显然以前没有人看到过

npm错误!无法获取缓存状态

这是完整的堆栈

npm ERR! Could not get cache stat
npm ERR! Could not get cache stat
npm ERR! Linux 3.16.4-tinycore64
npm ERR! argv "node" "/home/jenkins/.nvm/v0.10.33/bin/npm" "install"
npm ERR! node v0.10.33
npm ERR! npm  v2.1.10
npm ERR! path /home/jenkins/.npm/_git-remotes/<<address_to_private_repo>>/objects/pack/tmp_pack_GKEEeR
npm ERR! code ENOENT
npm ERR! errno 34

npm ERR! enoent ENOENT, chown '/home/jenkins/.npm/_git-remotes/<<address_to_private_repo>>/objects/pack/tmp_pack_GKEEeR'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! Please include the following file with any support request:
npm ERR!     /home/jenkins/schools.vidigami.com/npm-debug.log
npm错误!无法获取缓存状态
npm错误!无法获取缓存状态
npm错误!Linux 3.16.4-tinycore64
npm错误!argv“node”“/home/jenkins/.nvm/v0.10.33/bin/npm”“安装”
npm错误!节点v0.10.33
npm错误!npm v2.1.10
npm错误!path/home/jenkins/.npm/\u git-remotes//objects/pack/tmp\u pack\u GKEEeR
npm错误!代码eNONT
npm错误!埃尔诺34
npm错误!Enoint-Enoint,chown'/home/jenkins/.npm/\u git-remotes//objects/pack/tmp\u pack\GKEEeR'
npm错误!但这很可能不是npm本身的问题
npm错误!eNONT,与npm无法找到文件有关。
npm错误!埃诺特
npm错误!请在任何支持请求中包括以下文件:
npm错误/home/jenkins/schools.vidigami.com/npm-debug.log

```

我觉得如果您的安装过程填充了内部用于标识模块目录的env variable NODE_PATH,以及用于查找可执行文件的augment env var PATH NODE和npm,那么问题就会消失。下面是此类源代码安装的步骤

export NODE_PARENT=/some/desired/install/path_goes_here
export NODE_PARENT=/usr/local/bin/nodejs   # ONLY use if you MUST install as root (sudo)
export NODE_PARENT=${HOME}/nodejs-v0.10.33 # use if you want to install as yourself

export PATH=${NODE_PARENT}/bin:${PATH}
export NODE_PATH=${NODE_PARENT}/lib/node_modules

./configure   --prefix=${NODE_PARENT}

make
make install