您好我有一个nodejs应用程序。为了设置应用程序,我有一个名为“setup”的文件夹,其中包含以下文件:
commands.js
index.sh
index.js
我还有一个以下的npm脚本:setup:sh ./setup/index.sh
以下是index.sh
的内容
#!/bin/sh
echo "Optikos app database setup on progress";
node "$PWD/setup/index.js";
mongo --p 27019 "$PWD/setup/commands.js";
但是当我运行脚本时,我收到以下错误:
./setup/index.sh: 4: ./setup/index.sh: mongo: not found
但是mongo已经安装在我的$PATH
中
任何想法为什么会这样?
这是我的$PATH
:
/home/mkcodergr/.npm-global/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/mkcodergr/Documents/GitHub/optikos-app/node_modules/.bin:~/mongo/bin:~/Downloads/ngrok:~/.npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
问题出在我的~/.profile
文件中。我在文件的末尾更改了以下行:
PATH="~/.npm-global/bin:$PATH"
PATH="~/Downloads/ngrok:$PATH"
PATH="~/mongo/bin:$PATH"
至:
PATH="$HOME/.npm-global/bin:$PATH"
PATH="$HOME/Downloads/ngrok:$PATH"
PATH="$HOME/mongo/bin:$PATH"
并重新加载我的个人资料,它工作