#一般情况,宝塔都可以正常启动node项目,正确安装依赖,但如果它出错了呢,死活安装不上,
这种情况可能就打算直接用ssh来安装了,但如果直接在ssh终端上输入npm install,会发现提示命令找不到,虽然你可以全局安装nodejs,但在已经有了宝塔安装的node版本,再重复在全局安装就显得多余重复,这时候有没有办法可以获取到已经安装过的nodejs呢。
其实方法很简单,宝塔只是把nodejs安装在了它自身的某个目录下面,没有安装在全局,所以自然就找不到,这时候其实就是需要我们能用一个手段把nodejs的环境导入到全局或者说我们要即将使用的目录,其实这种操作对于java开发很熟悉,有些前端其实也操作过,新电脑配置java环境每次都得去window的环境变量里面配置java的sdk的路径,nodejs其实也是需要的,只是现在的nodejs安装程序已经把这部分工作做了,但如果有前端开发人员涉及到不同项目需要使用不同nodejs版本,当然目前的做法是直接安装nodejs版本管理工具去做,但它们的原理应该也只是将不同版本的nodejs下载到本地,然后用脚本去更改环境变量吧(我猜的,不知道是不是,如果没有装版本工具,我猜这个思路应该是可以的,但有没有坑我就不知道了,我也没试过)
一句话概括:如果提示找不到npm node,你又确定我们确实安装了,这种情况其实就是系统不知道你把它安装到哪里了,这时候就需要我们主动告知系统去哪个目录,找哪个程序来执行
so 如果是宝塔安装了nodejs,那nodejs的路径大概应该是这个
www/server/nodejs/v16.9.0/bin:$PATH
上面是我的路径,里面有我的nodejs版本号,你的估计会不一样,不过可以用这个命令来获取路径
ls /www/server/nodejs
获取到路径之后, 先进入你要运行node项目的目录下面 cd /xxxx/xxxx/
然后用export导出nodejs
export PATH=/www/server/nodejs/v16.9.0/bin:$PATH
然后你就可以在控制台输入npm -v 或者node-v来验证是否成功获取到nodejs了,如果没问题了,那你就可以轻松愉快的跟在本地开发一样,npm install npm run dev了