首页 > 解决方案 > 错误:找不到模块 'code-point-at' 和 npm install

问题描述

我有 node.js 并且之前运行过其他程序。我从头开始重新安装节点,并尝试启动服务器:

Your environment has been set up for using Node.js 10.16.3 (x64) and npm.

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Adam>cd documents\alan

C:\Users\Adam\Documents\alan>node server.js
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'simple-ngram-markov'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)

...

C:\Users\Adam\Documents\alan>npm install simple-ngram-markov
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'code-point-at'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)

...

C:\Users\Adam\Documents\alan>npm install code-point-at
internal/modules/cjs/loader.js:775
    throw err;
    ^

Error: Cannot find module 'code-point-at'
Require stack:

...

难道我做错了什么?

最后我试过这个:

C:\Users\Adam>cd Documents\alan

C:\Users\Adam\Documents\alan>npm install 
internal/modules/cjs/loader.js:657 throw err; ^

Error: Cannot find module 'code-point-at' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:655:15) at Function.Module._load (internal/modules/cjs/loader.js:580:25) at Module.require (internal/modules/cjs/loader.js:711:19) at require (internal/modules/cjs/helpers.js:14:16) at Object. (C:\Users\Adam\AppData\Roaming\npm\node_modules\npm\no de_modules\wide-align\node_modules\string-width\index.js:3:19) at Module._compile (internal/modules/cjs/loader.js:805:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10) at Module.load (internal/modules/cjs/loader.js:672:32) at tryModuleLoad (internal/modules/cjs/loader.js:612:12) at Function.Module._load (internal/modules/cjs/loader.js:604:3)

回购在这里:https ://github.com/alexbinary/alan

标签: javascriptnode.js

解决方案


直截了当的两件事:

  1. 运行npm init -y以初始化package.json文件以跟踪您的依赖项。然后当你运行npm i ${package}你安装的包时,你的 package.json 将被添加。这允许您(和其他人)使用npm i.

  2. 将您的require语句放在文件的顶部,并将它们分配给常量,而不是要求内联。这使您的依赖关系更易于阅读和推理,并且意味着如果缺少依赖关系,您的程序将快速失败,而不是在运行时评估语句时。


推荐阅读