为什么我在npm中遇到这个错误,以及如何解决它



我正在尝试将PayPal系统添加到我的html网站中。我正在学习本教程:https://www.youtube.com/watch?v=DNM9FdFrI1k&list=PL4eNesgScjZb3oktJK1786zI4nSET_tas&索引=4

我进入视频9:10,当我如视频中所示运行npm run devStart时,我得到以下错误:

PS C:UsersdiplaOneDriveDesktopUSBArgo & codingExamplesWeb designpaypal-checkout> npm run devStart
> paypal-checkout@1.0.0 devStart
> nodemon server.js
The system cannot find the path specified.
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module 'C:UsersdiplaOneDriveDesktopUSBnodemonbinnodemon.js'
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}

我安装了node.js,并将其位置添加到环境变量中。

这是我第一次使用npm和Node.js

编辑

我终于找到了导致错误的原因,但我不知道如何修复它。以下是正在发生的事情:当我运行npm i express ejs dotenv @paypal/checkout-server-sdk时,它会在我的项目中安装node_modules文件夹,它会将文件放在您期望的位置,在我的情况下是:

C:UsersdiplaOneDriveDesktopUSBArgo & codingExamplesWeb designpaypal-checkoutnode_modules

但计算机正在'C:UsersdiplaOneDriveDesktopUSBnodemonbinnodemon.js'中查找\node_modules文件

通常情况下,如果你从错误的目录运行终端中的命令,你会看到这个错误,然而我的终端显示

PS D:USBArgo & codingExamplesWeb designpaypal-checkout>

当我运行dir时,我得到

PS D:USBArgo & codingExamplesWeb designpaypal-checkout> dir
Directory: D:USBArgo & codingExamplesWeb designpaypal-checkout

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2021-12-13  11:50 AM                node_modules
d-----        2021-12-09   6:57 PM                views
-a----        2021-12-13  11:50 AM         128194 package-lock.json
-a----        2021-12-13  11:50 AM            402 package.json
-a----        2021-12-13  11:25 AM            251 server.js

因此,我尝试将node_modules文件夹移动到我的计算机正在查找的目录中,并且成功了,但是,这不是我想要保存node_module文件的地方。这是一个非常糟糕的位置,因为当我让我的网站上线时,mode_modules文件夹不会在我的项目文件夹中,所以它不会被包括在内。

注意:我正在从我的USB上运行这个项目。如果我不是在USB上(直接在桌面上(从头开始创建项目,我会得到以下错误:

PS C:UsersevandDesktoppaypal-checkout> npm run devStart
> paypal-checkout@1.0.0 devStart
> nodemon server.js
[nodemon] 2.0.15
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node server.js`
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module 'node_modules/express'
Require stack:
- C:UsersevandDesktoppaypal-checkoutserver.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:UsersevandDesktoppaypal-checkoutserver.js:1:17)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'C:\Users\evand\Desktop\paypal-checkout\server.js' ]
}
[nodemon] app crashed - waiting for file changes before starting...

所以,我的新问题是:如何让npm/my计算机在不同的目录中查找node_modules

我看到了这个解决方案,因为你使用的是外部驱动器,这一定是的问题

得到";错误:EINVAL:无效参数,读取";对于";npm install--save dev esint--verbose">

";由于您使用的是驱动器号I:,您可能使用的是便携式驱动器。我在使用FAT32上格式化的U盘时也遇到了同样的问题。我解决了将其重新格式化为NTFS的问题">

最新更新