Akebono
V2EX  ›  Node.js

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

  •  
  •   Akebono · Aug 8, 2021 · 5314 views
    This topic created in 1882 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   ·   Privacy   ·   Solana   ·   2317 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 15:17 · PVG 23:17 · LAX 08:17 · JFK 11:17
    ♥ Do have faith in what you're doing.