在Windows10上部署开发环境的注意事项(长更文)

文章目录
  1. Mongodb
  2. WAMP
  3. 依赖缺失

之前一直在vagrant+linux环境下开发,这次心血来潮在Windows10上尝试部署,遇到的问题会相继更新在此文。

Thinkpad P52简短开箱后升级了一下配置,闲鱼上收了条16G的三星内存条,一块三星PM981 1T固态硬盘做数据盘,京东上买了块256G的三星970EVO做系统盘),硬件升级完成侯这两天正在部署全新的开发环境,把遇到的坑记录一下吧。

言归正传,下面进入主题

Mongodb

MongoDB在笔者发文日期的版本已经更新到4.1了,安装过程整体来说算比较顺畅了,虽然花了不少时间,主要问题有

  1. 在安装客户端进度Status:installing mongoDB compass...(this may take a few minutes)的时候会停滞大半个小时,可能更久,这时候一定更要耐心等待,据说是后台下载程序,具体时间视网络情况而定,当然你也可以选择不安装客户端。
  2. 安装完成后默认bin目录是没有加入系统变量的,所以你无法在命令行中使用mongo命令,安装完成后建议在系统变量中把bin目录加入系统变量path中。
  3. 服务自启动,当前版本已经不需要再折腾这个了,这点还是很好的,点个赞。
  4. 配置文件和MongoDB在CentOS上不一样,在linux上配置文件存放于/etc/mongod.conf,而在Windows上它的目录位于程序安装目录中./bin/mongod.cfg,所以需要修改数据库认证方式的话要注意配置文件的位置。

检测MongoDB服务是否开启的方法:在浏览器中打开这个地址:http://localhost:27017/,如果服务启动成功打开该网址你能看到

It looks like you are trying to access MongoDB over HTTP on the native driver port.

管理员密码忘记了怎么办?

修改./bin/mongod.cfg将下面这两行注释掉

security:
  authorization: enabled

注意:一定要两行全部注释掉,不然会出现服务无法重启的问题:

Windows could not start the MongoDB Server service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.

接下来我们需要重新启动mongodb服务,注意在windows命令行中需要使用net stop/start mongodb这样的命令,且需要管理员权限。

重启mongodb服务后再次进入数据库则不需要再进行账户验证了,这时候我们直接使用use admin进入 admin 数据库,然后执行

db.system.users.find()

可以看到所有用户信息,我们这时候再添加一个用户管理员即可,用户管理操作可参考

db.createUser({user: "mongo-admin", pwd: "password", roles:[{role: "userAdminAnyDatabase", db: "admin"}]})

WAMP

此前在17年左右WIN7上安装WAMP的时候曾经遇到的问题,这次在WIN10上安装了最新的2.4.37版本,启动的时候也遇到了类似问题(msvcp120.dll丢失),其实要解决这类系统类库缺失问题非常简单,缺什么补什么,到官网打个vcredist_x64.exe的补丁即可。

2020-07-27 更新偶然遇到得错误:

httpd.exe 应用程序无法正确启动(0xc00007b)。单击“确定”关闭应用程序。

解决方法

依旧是打VC库补丁,打完补丁重启WAMP服务即可。

下载地址:https://www.Microsoft.com/en-us/download/details.aspx?id=52685

另外需要注意得是如果80端口被占用也会出现这个错误,解决方法是在httpd.conf中换不同的端口或者把占用端口得应用关掉。

依赖缺失

在使用Gatsby和Strapi部署开发环境的时候安装gatsby的strapi插件时

yarn add gatsby-source-strapi

出现错误

error D:\frontend\node_modules\pngquant-bin: Command failed.
Exit code: 1
Command: node lib/install.js
Arguments:
Directory: D:\frontend\node_modules\pngquant-bin
Output:
‼ read ECONNRESET
  ‼ pngquant pre-build test failed
  i compiling from source
  × Error: pngquant failed to build, make sure that libpng-dev is installed at ...

引起这个错误的原因是系统里面缺失libpng-dev库,在Linux下需要yum来安装

sudo apt-get install libpng-dev #Ubuntu

yum install libpng-dev #CentOS

而Windows下需要在下面链接下载

Windows中常见的类库缺失的问题都可以找到对应依赖类库的Windows版安装即可解决。

Read Comments

  • yle4 years ago0

    windows 下的 libpng-dev 库缺失问题还是不知道怎么解决。。有试过下载链接里的文件安装了,但还是一样报错,博主能再详细一点的介绍吗?万分感谢!!

    • Julian4 years ago0

      抱歉,你最好是把具体的错误信息贴出来我才能帮你看。
      理论上一个萝卜一个坑,补上对应的依赖就可以了。

      • yle4 years ago0

        就是和这篇博客上贴的报错图是一样的,在依赖缺失标题下的报错图,我电脑是 win10 64 位的,但我找不到 gunwin64 的安装程序,不知道是不是这个原因,不过安装链接里的 gunwin32 后还是没解决问题。

      • yle4 years ago0

        可能是我安装的步骤有问题,能请教下是如何安装这个依赖的吗?

      • yle4 years ago0

        可能是我安装的步骤有问题,能请教下是如何安装这个依赖的吗?

  • Julian4 years ago0

    to yle:

    pngquant-bin安装的没问题是吧?我的系统也是64位,我记得装的也是win32的,好像只有32

    在git上给你找到个点赞最高的,你试一下:
    https://github.com/imagemin/imagemin-pngquant/issues/46#issuecomment-515808859

    以下是引用的内容:

    Windows Users:

    npm install --global windows-build-tools
    If the build tools installed perfectly or otherwise and npm install still fails…
    goto C:\Users{your PC username}.windows-build-tools
    download and extract the attached zip into ".windows-build-tools"
    If the file already exist in the folder replace it with the extracted one.
    Run the BuildTools_Full.exe with admin privilege give it time to finish the installations
    Restart after the installation
    Now everything should work fine.
    Enjoy.
    BuildTools下载:https://github.com/imagemin/imagemin-pngquant/files/3439722/BuildTools_Full.zip

    • yle4 years ago0

      非常感谢博主的回复,不过按照github上的这个方法重新安装了 windows-build-tools,上面两个链接里的 libpng-dev 也都重新下载装过了,但是结果还是没变,报的错也都一样。

      原本打算用这个 gatsby 框架搭建自己的博客的,但是断断续续安装,试过博主的方法也自己google过,也在 git issue 里试过很多解决方案,但却依然没有 work 的,也可能是我自己哪的操作有问题,不过这真的花了我非常非常非常多的时间。
      不打算再磕下去了,换一个其他框架搭建博客了,最后还是要感谢一下博主的 reply

      • Julian4 years ago0

        非常遗憾没能帮到你,朋友
        gatsby只是个前端静态分离工具,博客系统的话我还是建议你可以试试ghost:
        https://towait.com/blog/install-ghost-on-windows/

        另外开发环境可以试试在windows子系统(wsl)中部署,在应用商店中安装个ubuntu,windows中问题是比较多而且棘手。

        最后,祝顺利。

Post Comment