提问者:小点点

节点:npm错误!无法在npm安装时获取缓存状态


我正在运行node和npm,与nvm一起安装在Docker容器中以运行测试。NPM install正在由具有自己的节点安装的非根用户运行。出于某种原因我不得不这样调用node.../home/user/.nvm/v0.10.33/bin/node和npm类似于/home/user/.nvm/v0.10.33/bin/npm...这导致了一些问题,并给了我一个“/usr/bin/env”“node”不存在,所以我将/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

```


共1个答案

匿名用户

我觉得如果您安装过程填充env变量NODE_PATH,这个变量在内部用来标识modules目录,以及增加env变量PATH,用来查找可执行文件节点和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