Openshift 下使用 NPM 时出现 EACCESS 错误的解决办法

Npm 是 Node.js 的包管理器,有时安装一些新模块都需要依靠 npm install 这个命令,但在 Openshift 这种限制多多的环境下,直接使用 npm install 这种命令安装模块可能会遇到各种错误,常见的就是本文所说的 EACCESS 错误。

这种错误通常是由权限不足导致的,在 Openshift 这种环境下也不难见到这种问题,因为 npm 在安装新模块时需要一个临时目录,而普通用户对环境变量中的临时目录是无权写入的,因此修改一下环境变量,把它指向我们有权限读写的文件夹就可以解决这个问题。

使用 SSH Shell 连接到你的服务器后使用以下命令(这里以安装 express 为例):

1
2
3
4
cd app-root/repo/
mkdir tmp
export OPENSHIFT_TMP_DIR="`pwd`/tmp/"
npm install express