知识积累--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

              如下图:

             

 

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

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

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

          

 

         

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

          npm run build

         

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

         第二个大坑出现,如图:

        

gyp ERR! configure error 

gyp ERR! stack Error: EACCES: permission denied, mkdir '/Users/zhang/Documents/data_insight_yinzhou/data_insight_yinzhou/node_modules/node-sass/build'

 

 

           

这好像说的是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的时候,还有这个错误:

 

 

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

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

 

      

          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分区是否已经变大

              

 

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

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

猜你喜欢

转载自anbolihua.iteye.com/blog/2434160