我是linux / ubuntu / node新手。我在虚拟专用Web服务器上运行ubuntu 16.04。它正在运行nodejs&一切都运行良好。
但是当我从命令行运行一个全局模块/包时,我会这样写:
node /usr/local/bin/forever start /usr/local/bin/http-server /var/www/myWebsite -p 8000
哪个工作正常。但是您在节点I中会注意到我必须指定全局安装的模块/包的完整路径(/usr/local/bin/
)
我的问题:有没有办法在不指定完整路径的情况下运行全局节点模块/包?
EG。,而不是写作:
node /usr/local/bin/forever // forever is a globally installed module
我可以这样写,所以我可以写:
node forever // forever is a globally installed module
我已经尝试编辑〜。/ bashrc文件以包含像这样的NODE_PATH
nano ~/.bashrc
# added line at bottom of bashrc file
NODE_PATH=/usr/local/bin
但没有运气。另外,当我运行echo $NODE_PATH
时,我得到:
/usr/local/bin
哪条路径正确(就像我在node /usr/local/bin/forever
或者我的电线是否交叉?我是否应该能够在不指定完整路径的情况下运行节点模块/包?有什么理由说这不是一个好习惯吗?
非常感谢。
答案 0 :(得分:3)
我太傻了 - 编辑.bashrc文件似乎确实有效。 (实际上我不确定这是否有效,或者它是否在整个时间内自动设置正确)
我没有意识到我需要:
在ubuntu cmd行中的EG:
node forever -h // WRONG!
forever -h // Works!
以为我会发帖以防有类似情况的人发现这一点。