首页 > 解决方案 > npm 没有 sudo 就无法工作,get 找不到模块错误

问题描述

我正在尝试通过 bash 脚本运行 npm install

最初我得到

env: ‘node’: No such file or directory

此错误仅在通过 CI/CD 管道执行的 bash 脚本期间发现。为了解决这个问题,我不得不这样做

sudo ln -sf /home/ubuntu/.nvm/versions/node/v9.5.0/bin/node /usr/bin/env

这样做是每当我在终端上运行 npm 时,我都会收到此错误

module.js:557
throw err;
^

Error: Cannot find module '/home/ubuntu/node'
    at Function.Module._resolveFilename (module.js:555:15)
    at Function.Module._load (module.js:482:25)
    at Function.Module.runMain (module.js:701:10)
    at startup (bootstrap_node.js:190:16)
    at bootstrap_node.js:662:3

我注意到的一件事是,无论我在哪里运行 npm,文件夹(即/home/ubuntu/node)都会更改为该特定目录

对于前 -

module.js:557
throw err;
^

Error: Cannot find module '/home/ubuntu/scripts/node'
    at Function.Module._resolveFilename (module.js:555:15)
    at Function.Module._load (module.js:482:25)
    at Function.Module.runMain (module.js:701:10)
    at startup (bootstrap_node.js:190:16)
    at bootstrap_node.js:662:3

添加一些附加信息

which node
/home/ubuntu/.nvm/versions/node/v14.4.0/bin/node
which npm
/home/ubuntu/.nvm/versions/node/v14.4.0/bin/npm

Ubuntu 版本是 16.04.3 LTS

提前感谢您的建议

标签: node.jsnpm

解决方案


推荐阅读