nodejs项目要怎么在linux上运行,知识积累--linux--下安装nodejs--运行window下编译过的项目...

前景提要:

在本地windows环境下,做了一个项目,需要使用nodeJs环境,于是乎本地安装了下nodeJs也配置了环境变量,项目运行着也没有问题,现要将项目部署到linux的线上环境,在安装nodeJS和运行npm run build,npm run dev的时候是困难重重,以下是我的安装步骤以及克服重重困难的记录,仅供参考

安装开始:

阶段1-----------------------------------------------------------------------------------

nodeJs:采取二进制包安装,我是直接在网上搜的我想要的版本

我的版本是:node-v8.11.2-linux-x64.tar.xz

步骤:

cd /app/nodejs

tar -xvf   node-v8.11.2-linux-x64.tar.xz

进入解压后的包node-v8.11.2-linux-x64 ,确认一下bin目录是否有node 和npm文件,如果有执行软连接,如果没有重新下载执行上边步骤;

建立软连接,变为全局,如下:

ln -s/app/nodejs/node-v8.11.2-linux-x64/bin/npm /usr/local/bin/

ln -s/app/nodejs/node-v8.11.2-linux-x64/bin/node /usr/local/bin/

最后一步检验nodejs是否已变为全局:

node -v

npm -v

如下图:

20b81a4ecc55b294c6171959e1054504.gif

好的,安装就大功告成啦!

阶段2:--------上传项目-------------------------------------------------------------------------

位置:/data/dp/client    项目名就是client,里面内容目录如下图:

20b81a4ecc55b294c6171959e1054504.gif

阶段3:--------运行项目------------------------------------------------------------------

npm run build

第一个大坑出现:截图没有了,大概的意思是我项目编译的时候用的是linux64的但是编译项目发现的是windows64的,于是乎,我就把client项目里面的node_models给删除掉了。再执行上面的命令,不出先这个错误,但是又来个一个大坑

第二个大坑出现,如图:

gypERR!configure error

gypERR!stackError: EACCES: permission denied, mkdir '/Users/zhang/Documents/data_insight_yinzhou/data_insight_yinzhou/node_modules/node-sass/build'

20b81a4ecc55b294c6171959e1054504.gif

这好像说的是node_sass这个安装权限不足,我一开始以为是这个目录下没有写和执行的权限,但是直接在client项目里 直接给了chmod -R 775 ./* 还是不行,此时就说明不是这个权限的问题,就百度了下,最后用到了这个命令:

npm install node-inspector --unsafe-perm=true --allow-root   (我当前的用户是root)

再次执行npm run build 就成功了,且client/node_models/node-sass也有了,

执行: npm run dev 命令

成功!

其实遇到的大坑有很多,还少说了一个大坑,在执行npm run build的时候,还有这个错误:

20b81a4ecc55b294c6171959e1054504.gif

build的时候直接被killed掉了,好尴尬,这error给的太突然,下面说明给的也很是模糊,有价值的信息很少,怎么办,直接百度搜“linux  npm run build killed”竟然第一个帖子就是说这个的好幸运,前几天其实也都有只不过是没有这样的查到解决办法,上面说的是需要给linux分配下swap 区,于是我就做了如下操作:

1、输入 free -m 查看 Swap 分区情况

20b81a4ecc55b294c6171959e1054504.gif

2、这里是Swap分区为0,表示没有分配,接下来开始执行

cd /opt     //我的目录是opt

mkdir swap  //创建文件夹

cd swap     //切换到文件夹下

3、使用dd命令新建分区文件,我这里分配了一个4G

dd if=/dev/zero of=swapfile bs=1M count=4096

4、将swapfile增加为swap分区,并开启

mkswap swapfile

swapon swapfile

5、使用free命令查看你的swap分区是否已经变大

20b81a4ecc55b294c6171959e1054504.gif

这个swap分区搞好之后,再执行npm run build就不再被直接被杀掉了 killed了!!

总结:以上是个人安装和部署的一些小记载,怕日后自己还需要再用到,就动了下手指简单的记录下,如果看到本博客的你也遇到相同的问题,希望可以帮你分担点懊恼,不至于有砸电脑的冲动!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值