部署vue项目、安装mongodb

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 充分了解部署vue项目、安装mongodb

一、node运行环境



1、npm install -g n  


通过npm 全局安装node


2、sudo n 8.16.0


设置node版本


Password:

install : node-v8.16.0

mkdir : /usr/local/n/versions/node/8.16.0

fetch : https://nodejs.org/dist/v8.16.0/node-v8.16.0-darwin-x64.tar.gz

######################################################################## 100.0%

installed : v8.16.0


3、node -v


v8.16.0


二、安装mongodb


1、brew tap mongodb/brew


2、brew install mongodb-community


=> Installing mongodb-community from mongodb/brew
==> Downloading https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.2.5.tgz
######################################################################## 100.0%
==> Caveats
To have launchd start mongodb/brew/mongodb-community now and restart at login:
brew services start mongodb/brew/mongodb-community
Or, if you don't want/need a background service you can just run:
mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb-community/4.2.5: 21 files, 305.9MB, built in 7 minutes 4 seconds
(base) mengfaniaodeMBP:homebrew-core mengfanxiao$ cat usr/local/etc/mongod.conf
cat: usr/local/etc/mongod.conf: No such file or directory
(base) mengfaniaodeMBP:homebrew-core mengfanxiao$ brew services start mongodb/brew/mongodb-community
==> Successfully started `mongodb-community` (label: homebrew.mxcl.mongodb-community)


3、启动/停止


brew services start mongodb-community

brew services stop mongodb-community



4、配置


配置文件:/usr/local/etc/mongod.conf

日志目录路径:/usr/local/var/log/mongodb

数据目录路径:/usr/local/var/mongodb


5、端口


默认端口

介绍

27017

mongod 和 mongos 实例的默认端口。你可以通过 port 或 --port 改变该端口。

27018

设置 --shardsvr 运行变量或在配置文件里设置 clusterRole 为 shardsvr 时的默认端口。

27019

设置 --configsvr 运行变量或在配置文件中将 clusterRole 设置为 configsvr 时的默认端口。

28017

系统状态网页的默认端口。系统状态网络页面永远可以在比 port 大 1000 的端口反问。


三、问题梳理


1、环境问题


node -v


dyld:                   Library                    not                      loaded:

/usr/local/opt/icu4c/lib/libicui18n.64.dylib

Referenced from: /usr/local/bin/node

Reason: image not found

Abort trap: 6


说明node相关库已被损坏 需要重新安装


卸载node

brew uninstall --ignore-dependencies node icu4c


Uninstalling /usr/local/Cellar/node/13.5.0... (4,663 files, 59.1MB)

node 12.12.0 is still installed.

Run `brew uninstall --force node` to remove all versions.


安装node

brew install node

通过这种方式安装的是最新版本的node 但很容易出现版本不兼容问题 所以不推荐这么安装 建议安装node8 该版本比较稳定 很少出现与其他软件不兼容情况


2、文件创建权限问题


==> Installing dependencies for node: icu4c
==> Installing node dependency: icu4c
==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/bottles/icu4c-64.2.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring icu4c-64.2.mojave.bottle.tar.gz
Error: Failed to create /usr/local/opt/icu4c
Things that depend on icu4c will probably not build.
Could not symlink .
/usr/local/opt is not writable.
==> Caveats


a、创建文件夹

sudo mkdir  /usr/local/opt

b、root用户赋予当前用户操作该文件夹权限


此时该文件夹权限属于root 给mengfanxiao账户赋予权限

chown -R mengfanxiao /usr/local/opt


3、插曲 springboot启动问题


dea启动spring-boot,报java.lang.NoClassDefFoundError: javax/servlet/ServletContext错误


<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

<scope>provided</scope>

</dependency>

把scope注释掉即可


maven中三种classpath

编译,测试,运行

1.compile:默认范围,编译测试运行都有效

2.provided:在编译和测试时有效

3.runtime:在测试和运行时有效

4.test:只在测试时有效

5.system:在编译和测试时有效,与本机系统关联,可移植性差



4、环境不匹配问题


Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (79)qi


卸载重装(最新版本的node-sass)即可:

npm uninstall node-sass -D

npm install node-sass -D


5、版本冲突问题 node和mongodb版本不兼容

mongodb-core@1.2.31 requires a peer of kerberos@~0.0


node -v   v13.12.0

npm -v   6.14.4


gyp ERR! command "/usr/local/Cellar/node/13.12.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/mengfanxiao/Documents/project/company/wechain/questionnaire/node_modules/leveldown

gyp ERR! node -v v13.12.0

gyp ERR! node-gyp -v v5.1.0

gyp ERR! not ok

npm WARN mongodb-core@1.2.31 requires a peer of kerberos@~0.0 but none is installed. You must install peer dependencies yourself.


这种情况需要安装node8


brew search node


==> Formulae

libbitcoin-node     node                node-sass           node@12             nodebrew            nodenv

llnode              node-build          node@10             node_exporter ✔     nodeenv


如果有node8

则 brew install node@8

然后brew link --overwrite --force node@8



没有node8


npm install -g n

sudo n 8.16.0


安装了node8版本


npm install

> leveldown@1.7.2 install /Users/mengfanxiao/Documents/project/company/wechain/new/questionnaire/node_modules/level/node_modules/leveldown

> prebuild-install || node-gyp rebuild

added 42 packages from 44 contributors in 20.79s


6、安装mongodb问题

   

brew install mongodb

Error: No available formula with the name 'mongodb'

MongoDB不再是开源的了,并且已经从Homebrew中移除 #43770


安装MongoDB社区服务器的最新可用生产版本(包括所有命令行工具)。这将安装MongoDB 4.2.x:

$ brew install mongodb-community

安装MongoDB社区服务器和命令行工具的最新4.2.x生产版本:

$ brew install mongodb-community@4.2

安装MongoDB社区服务器和命令行工具的最新4.0.x生产版本:

$ brew install mongodb-community@4.0

安装MongoDB社区服务器和命令行工具的最新3.6.x生产版本:

$ brew install mongodb-community@3.6

仅安装最新的mongoshell以连接到远程MongoDB实例:

$ brew install mongodb-community-shell

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1月前
|
JavaScript 容器
乾坤qiankun框架搭建 主应用为vue3的项目。
乾坤qiankun框架搭建 主应用为vue3的项目。
159 2
|
27天前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
14天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
1月前
|
JavaScript
如何在 Vue 项目中选择合适的模块格式
【10月更文挑战第20天】选择合适的模块格式需要综合考虑多个因素,没有一种绝对正确的选择。需要根据项目的具体情况进行权衡和分析。在实际选择过程中,要保持灵活性,根据项目的发展和变化适时调整模块格式。
21 7
|
26天前
Vue3 项目的 setup 函数
【10月更文挑战第23天】setup` 函数是 Vue3 中非常重要的一个概念,掌握它的使用方法对于开发高效、灵活的 Vue3 组件至关重要。通过不断的实践和探索,你将能够更好地利用 `setup` 函数来构建优秀的 Vue3 项目。
|
1月前
|
JavaScript 前端开发 编译器
在 Vue 项目中使用 ES 模块格式的优点
【10月更文挑战第20天】在 Vue 项目中使用 ES 模块格式具有众多优点,这些优点共同作用,使得项目能够更高效、更可靠地开发和运行。当然,在实际应用中,还需要根据项目的具体情况和需求进行合理的选择和配置。
33 6
|
26天前
|
JavaScript 测试技术 UED
解决 Vue 项目中 Tree shaking 无法去除某些模块
【10月更文挑战第23天】解决 Vue 项目中 Tree shaking 无法去除某些模块的问题需要综合考虑多种因素,通过仔细分析、排查和优化,逐步提高 Tree shaking 的效果,为项目带来更好的性能和用户体验。同时,持续关注和学习相关技术的发展,不断探索新的解决方案,以适应不断变化的项目需求。
|
1月前
|
缓存 JavaScript 前端开发
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
71 3
|
1月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
43 5
|
1月前
|
NoSQL Shell MongoDB
Mac OSX 平台安装 MongoDB
10月更文挑战第11天
21 4
下一篇
无影云桌面