Akebono
V2EX  ›  Node.js

[求助] 请教一个关于 node.js 运行时崩溃 的问题

  •  
  •   Akebono · Aug 8, 2021 · 4957 views
    This topic created in 1745 days ago, the information mentioned may be changed or developed.

    服务器迁移,重新部署生产环境,结果运行不了...

    运行环境 Centos7

    已经确认的

    1. 不是端口占用问题
    2. 不是 node.js 版本问题,和本地版本保持一致,也重装过一次
    3. 重新 npm install 也不行,尝试过的命令如下(顺序执行):
    rm -rf node_modules
    rm package-lock.json
    npm cache clear --force
    npm install
    

    搜索引擎查了一晚上无果,只能来请教 V2EX 的各位了,谢谢各位。

    error↓

    [root@akebono mapshare_server]# npm start
    
    > [email protected] start /mapshare_server
    > nodemon --watch src -e ts,tsx --exec ts-node src/server.ts
    
    [nodemon] 2.0.12
    [nodemon] to restart at any time, enter `rs`
    [nodemon] watching path(s): src/**/*
    [nodemon] watching extensions: ts,tsx
    [nodemon] starting `ts-node src/server.ts`
    Error: Cannot find module 'sha1'
    Require stack:
    - /mapshare_server/src/controllers/share.ts
    - /mapshare_server/src/routes.ts
    - /mapshare_server/src/server.ts
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
        at Function.Module._load (internal/modules/cjs/loader.js:725:27)
        at Module.require (internal/modules/cjs/loader.js:952:19)
        at require (internal/modules/cjs/helpers.js:88:18)
        at Object.<anonymous> (/mapshare_server/src/controllers/share.ts:4:14)
        at Module._compile (internal/modules/cjs/loader.js:1063:30)
        at Module.m._compile (/mapshare_server/node_modules/ts-node/src/index.ts:858:23)
        at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
        at Object.require.extensions.<computed> [as .ts] (/mapshare_server/node_modules/ts-node/src/index.ts:861:12)
        at Module.load (internal/modules/cjs/loader.js:928:32)
    [nodemon] app crashed - waiting for file changes before starting...
    
    Supplement 1  ·  Aug 8, 2021
    通过 npm install sha1 解决了,奇怪的是我之前也执行过一次这个命令,结果还是不行,今天再试了一次就行了... 有点迷惑,可能是我之前的操作哪个步骤有误,总而言之已经解决了,谢谢各位的回复!
    5 replies    2021-08-08 13:15:19 +08:00
    ericls
        1
    ericls  
       Aug 8, 2021 via iPhone   ❤️ 1
    lock 文件为什么要删除????
    defunct9
        2
    defunct9  
       Aug 8, 2021 via iPhone   ❤️ 1
    lock 文件不删试试
    muzuiget
        3
    muzuiget  
       Aug 8, 2021   ❤️ 1
    lock 文件不要删除。

    看错误提示就是找不到 `sha1` 这个模块,是不是旧机器装到系统全局位置里去了,要不就搜代码哪个模块依赖了。或者碰运气 npm install sha1 试下。
    IamUNICODE
        4
    IamUNICODE  
       Aug 8, 2021   ❤️ 1
    lock 不能删的,删掉是为了干干净净的重装
    qq1009479218
        5
    qq1009479218  
       Aug 8, 2021   ❤️ 1
    如果 sha1 安装了,估计就是 /mapshare_server/src/controllers/share.ts ,/mapshare_server/src/routes.ts ,/mapshare_server/src/server.ts 这三个的引用路径的问题,检查一下每个 import 语句的路径是不是绝对路径,尝试改成相对路径。多问一句,本地和正式的启动命令一样吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   959 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 21:51 · PVG 05:51 · LAX 14:51 · JFK 17:51
    ♥ Do have faith in what you're doing.