获取错误 /usr/bin/env:节点:权限被拒绝

Getting Error /usr/bin/env: node : Permission Denied

我已经在我的服务器 (Centos) 上安装了 ODOO v9。一切都已成功安装。登录页面也能正常工作,但登录后出现以下错误

/usr/bin/env : node : Permission Denied

我尝试更改权限,但我的问题没有得到解决。有人知道这个错误是什么吗?

  • 当出现这种类型的问题时,请在终端中执行以下命令

  • 最简单的方法是使用包管理器 npm 安装 nodeJsNodejs 在存储库中,但是那个有点过时了,您可以使用 ppa:

     sudo apt-add-repository ppa:chris-lea/node.js
     sudo apt-get update
     sudo apt-get install nodejs
    

( https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager ) 特别是如果你正在做 JavaScript/Web 开发,nodejs 在今天非常重要。

  • 此时很简单(如http://lesscss.org所述)

     sudo npm install -g less
    
  • 如果你已经安装了 lessc 那么上面的命令 运行 两次..

    sudo npm install -g less-plugin-clean-css
    

您会收到您描述的错误的一个可能原因是您的发行包维护人员为 nodejs 以外的其他内容保留了名称 'node'。如果是这种情况,您要使用的二进制文件(npm 将要使用)将被称为 'nodejs'。要检查这一点,运行:

which node

如果你没有得到返回节点二进制文件的路径,可能是你的问题就是我上面描述的,那么试试:

which nodejs

如果你得到一个二进制路径,那么你就可以得到输出,例如:/usr/bin/nodejs and 运行:

sudo ln -s /usr/bin/nodejs /usr/bin/node

并且您将拥有一个正常运行的 nodejs 安装。

别问我为什么这些平台上npm的维护者不调用nodejs。并且不要问我为什么不到 linux 十分之一的用户安装的软件包拥有名称 'node' 而不是 'nodejs',这是很大一部分 - 我怀疑两位数百分比 - linux 用户安装。有些事情就是无法解释。