V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Akebono
V2EX  ›  Node.js

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

  •  
  •   Akebono · 2021-08-08 05:32:40 +08:00 · 4159 次点击
    这是一个创建于 1184 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    运行环境 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...
    
    第 1 条附言  ·  2021-08-08 23:38:52 +08:00
    通过 npm install sha1 解决了,奇怪的是我之前也执行过一次这个命令,结果还是不行,今天再试了一次就行了... 有点迷惑,可能是我之前的操作哪个步骤有误,总而言之已经解决了,谢谢各位的回复!
    5 条回复    2021-08-08 13:15:19 +08:00
    ericls
        1
    ericls  
       2021-08-08 07:10:45 +08:00 via iPhone   ❤️ 1
    lock 文件为什么要删除????
    defunct9
        2
    defunct9  
       2021-08-08 08:14:36 +08:00 via iPhone   ❤️ 1
    lock 文件不删试试
    muzuiget
        3
    muzuiget  
       2021-08-08 09:40:24 +08:00   ❤️ 1
    lock 文件不要删除。

    看错误提示就是找不到 `sha1` 这个模块,是不是旧机器装到系统全局位置里去了,要不就搜代码哪个模块依赖了。或者碰运气 npm install sha1 试下。
    IamUNICODE
        4
    IamUNICODE  
       2021-08-08 11:56:07 +08:00   ❤️ 1
    lock 不能删的,删掉是为了干干净净的重装
    qq1009479218
        5
    qq1009479218  
       2021-08-08 13:15:19 +08:00   ❤️ 1
    如果 sha1 安装了,估计就是 /mapshare_server/src/controllers/share.ts ,/mapshare_server/src/routes.ts ,/mapshare_server/src/server.ts 这三个的引用路径的问题,检查一下每个 import 语句的路径是不是绝对路径,尝试改成相对路径。多问一句,本地和正式的启动命令一样吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1221 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:00 · PVG 02:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.