错误:找不到模块'/lib/cli'

Error: Cannot find module '../lib/cli'

本文关键字:cli lib 错误 找不到 模块      更新时间:2023-09-26

我对javascript开发完全陌生,在阅读backbone_blueprints一书时,我遇到了以下错误。这是我得到的错误:

> simple-blog@0.1.0 start /Users/noahc/Projects/backbone_blueprints/blog
> nodemon server.js

module.js:340
    throw err;
          ^
Error: Cannot find module '../lib/cli'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/noahc/Projects/backbone_blueprints/blog/node_modules/.bin/nodemon:3:11)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
npm ERR! Darwin 14.1.0
npm ERR! argv "node" "/usr/local/bin/npm" "start"
npm ERR! node v0.10.33
npm ERR! npm  v2.1.11
npm ERR! code ELIFECYCLE
npm ERR! simple-blog@0.1.0 start: `nodemon server.js`
npm ERR! Exit status 8
npm ERR! 
npm ERR! Failed at the simple-blog@0.1.0 start script 'nodemon server.js'.
npm ERR! This is most likely a problem with the simple-blog package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     nodemon server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls simple-blog
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /Users/noahc/Projects/backbone_blueprints/blog/npm-debug.log
☹ ~/Projects/backbone_blueprints/blog npm install                                                                   ruby-2.1.3
npm WARN package.json simple-blog@0.1.0 No repository field.
npm WARN package.json simple-blog@0.1.0 No README data

以下是调试日志:

0 info it worked if it ends with ok 
1 verbose cli [ 'node', '/usr/local/bin/npm', 'install' ]
2 info using npm@2.1.11
3 info using node@v0.10.33
4 verbose node symlink /usr/local/bin/node
5 error install Couldn't read dependencies
6 verbose stack Error: ENOENT, open '/Users/noahc/Projects/backbone_blueprints/package.json'
7 verbose cwd /Users/noahc/Projects/backbone_blueprints
8 error Darwin 14.1.0
9 error argv "node" "/usr/local/bin/npm" "install"
10 error node v0.10.33
11 error npm  v2.1.11
12 error path /Users/noahc/Projects/backbone_blueprints/package.json
13 error code ENOPACKAGEJSON
14 error errno 34 
15 error package.json ENOENT, open '/Users/noahc/Projects/backbone_blueprints/package.json'
15 error package.json This is most likely not a problem with npm itself.
15 error package.json npm can't find a package.json file in your current directory.
16 verbose exit [ 34, true ]

这个:

☹ ~/Projects/backbone_blueprints/blog which node                                                                    ruby-2.1.3
/usr/local/bin/node
☺ ~/Projects/backbone_blueprints/blog which npm                                                                     ruby-2.1.3
/usr/local/bin/npm

我认为这可能是一个路径问题,所以我将export NODE_PATH=/opt/lib/node_modules添加到了我的.zshrc文件中,并对其进行了来源分析,这似乎没有影响。

有什么想法吗?我可以解决这个问题,或者试着更好地了解实际发生了什么?

我的解决方案只是删除目录/nod_modules/,然后使用npm install进行新的安装。

Nodedemon正在自己的目录中查找../lib/cli文件夹,但没有找到。您可能安装得很糟糕。当您使用finder将项目从一个文件夹复制到另一个文件夹时,有时会发生这种情况。

如果您破坏了node_modules目录并从头开始重新安装,则应该恢复该文件夹。

cd your_project_folder
rm -rf node_modules
npm install

编辑:

你也可以使用纱线。

cd your_project_folder
rm -rf node_modules
yarn

对我来说,npm被破坏了,可能是因为我在某个时候用sudo运行了它。

我需要修复酿造,升级/更新

brew uninstall node
sudo chown -R $(whoami) /usr/local/*
brew cleanup
brew install node

我找到了修复程序。我必须全局安装nodemon,这样做:npm install nodemon -g

我有这个错误,把它留在这里,以防对任何人都有帮助。

我安装了yarn,显然把我的节点安装搞砸了,试图通过卸载东西来修复它,弄得一团糟。Brew无法成功安装node(旧的操作系统可能没有LTS,从源代码安装不会使npm工作)。

甚至

npm -v

将给出错误(因此与node_modules无关)。最后通过在这里使用包管理器安装node来修复它。

macOS BigSur中,我必须首先清理节点模块文件夹:

sudo rm -rf /usr/local/lib/node_modules

注意:我需要sudo的原因是一些文件夹需要特殊权限才能删除它们

删除node_modules后,我通过以下方式重新安装了npm包:

brew postinstall node

最后,我能够看到npm回到我的mac:

npm -v
7.21.1

您可以尝试执行以下

npm uninstall nodemon
npm install nodemon
因此,npm在package.json文件和node_modules/.bin目录中声明了可执行文件的模块之间创建了一个符号链接。

阅读npm以理解。

Dr。阿克塞尔·劳施迈尔在这里解释更多。

当使用macos finder、windows文件资源管理器或命令行复制项目目录及其node_modules文件夹时,此符号链接将被销毁。因此,对node_modules/.bin目录上的符号链接文件的调用不能命中假定的包。

在您的案例中,它是节点。要手动修复此问题,请运行

ln -s ./node_modules/nodemon/bin/nodemon.js ./node_modules/.bin/nodemon

对于任何其他包,请检查其package.json中的"bin": { }密钥,并查看符号链接的可执行文件,然后修改上面的link命令并根据运行。

brew uninstall node
brew upgrade 
brew install node
brew link --overwrite node 
npm -v

为我工作。

brew link --overwrite node

就是所需要的一切。无需卸载。

也有同样的问题。

我使用protractor --elementExplorer,它适用于我的

量角器已更改位置。lib/builded量角器文件现在位于包的builded目录中。您应该能够将IDE引导到builded/cli.js这对我有效。

查看他们的Github问题链接:

https://github.com/angular/protractor/issues/3089

在使用自制软件安装nodejs后,我也遇到了同样的错误。我已经从它的官方网站下载并安装了nodejs。它现在运行良好。

使用行构建docker映像时出现此错误RUN apt install -g serve通过将方法更改为来修复它

RUN  curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
ENV NVM_DIR=/root/.nvm
RUN . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION}
RUN . "$NVM_DIR/nvm.sh" &&  nvm use v${NODE_VERSION}
RUN . "$NVM_DIR/nvm.sh" && nvm alias default v${NODE_VERSION}
RUN cp /root/.nvm/versions/node/v${NODE_VERSION}/bin/node /usr/bin/
RUN cp /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm /usr/bin/
RUN /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm install  serve -g

我尝试了这些解决方案中的大多数,但都没有成功。最终修复的是:

curl -qL https://www.npmjs.com/install.sh | sudo sh

瞧,一切都好了!