GVKun编程网logo

如何删除 node_modules - Windows 中的深层嵌套文件夹(快速删除node modules)

10

在本文中,我们将详细介绍如何删除node_modules-Windows中的深层嵌套文件夹的各个方面,并为您提供关于快速删除nodemodules的相关解答,同时,我们也将为您带来关于Git-忽略no

在本文中,我们将详细介绍如何删除 node_modules - Windows 中的深层嵌套文件夹的各个方面,并为您提供关于快速删除node modules的相关解答,同时,我们也将为您带来关于Git - 忽略 node_modules 文件夹无处不在、node.js – ack | grep | whatnot特殊忽略文件夹模式node_modules / dir / node_modules、node.js – npm install成功后,卷中不存在node_modules:node_modules、node.js – NPM模块是否在/ node_modules文件夹中但找不到?的有用知识。

本文目录一览:

如何删除 node_modules - Windows 中的深层嵌套文件夹(快速删除node modules)

如何删除 node_modules - Windows 中的深层嵌套文件夹(快速删除node modules)

在尝试删除由以下创建的 node_modules 目录时npm install

源文件名大于文件系统支持的名称。尝试移动到路径名称较短的位置,或尝试重命名为较短的名称,然后再尝试此操作

我也试过shift+delete并且仍然有同样的问题。

答案1

小编典典

由于这是谷歌的最高结果,这对我有用:

更新,如果您有 npm v5,请使用npx:

npx rimraf ./**/node_modules

否则安装 RimRaf:

npm install rimraf -g

并在项目文件夹中删除 node_modules 文件夹:

rimraf node_modules

如果要递归删除:

rimraf .\**\node_modules

Git - 忽略 node_modules 文件夹无处不在

Git - 忽略 node_modules 文件夹无处不在

我有一个包含多个其他项目的项目:

  • 主要项目
  • Mini project 1
  • Mini project 2

所有包含node_modules文件夹。我希望 git 忽略该文件夹,无论它从根文件夹开始的位置。在 .gitignore 中添加这样的东西:

*node_modules/*

node.js – ack | grep | whatnot特殊忽略文件夹模式node_modules / dir / node_modules

node.js – ack | grep | whatnot特殊忽略文件夹模式node_modules / dir / node_modules

我最近发现了ack和ack -ir –ignore-dir = {node_modules,dist,.git}< search-term>除了这个以外,对大多数事情都有效

---node_modules/
---------------project1/
-----------------------node_modules/
---------------project2/
-----------------------node_modules/

我想搜索“root”node_modules下的所有文件,并排除所有内部文件.

注意:如果我运行find. -type f |在根node_modules文件夹下的ack -v’node_modules | .git | dist’,我得到一个合适的文件列表.这发生是因为找到了.给出相对路径.有什么方法可以把这个列表提供给ack吗?

解决方法

ack -i <search-term> ./node_modules/*

应该做你想做的事.
如果您还想包含隐藏文件和文件夹,请先设置shopt -s dotglob(假设为Bash).

背景资料:

ack有很多规则可以忽略你通常不想在内置搜索的文件.

从版本2.14开始,这包括名为.git和node_modules的目录,在层次结构的任何级别(默认情况下ack搜索递归,尽管您可以添加-r / -R / –recursive以使其显式).
要查看默认情况下忽略的目录/文件的完整列表,请运行ack –dump.

通过使用globbing(路径名扩展)让shell将模式./node_modules/*扩展为./node_modules中的实际项目列表,可以绕过那些显式传递的项目的node_modules的忽略规则.

node.js – npm install成功后,卷中不存在node_modules:node_modules

node.js – npm install成功后,卷中不存在node_modules:node_modules

我有一个应用程序与以下服务:

> web / – 持有并在端口5000上运行python 3 flask web服务器。使用sqlite3。
> worker / – 有一个index.js文件,它是队列的工作者。 Web服务器通过端口9730使用json API与此队列交互。worker使用redis进行存储。 worker还将数据本地存储在文件夹worker / images /

现在这个问题只关心工人。

worker / Dockerfile

FROM node:0.12

workdir /worker

copY package.json /worker/
RUN npm install

copY . /worker/

docker-compose.yml

redis:
    image: redis
worker:
    build: ./worker
    command: npm start
    ports:
        - "9730:9730"
    volumes:
        - worker/:/worker/
    links:
        - redis

当我运行docker-compose构建,一切正常工作,所有的npm模块安装在/ worker / node_modules,正如我所料。

npm WARN package.json unfold@1.0.0 No README data

> phantomjs@1.9.2-6 install /worker/node_modules/pageres/node_modules/screenshot-stream/node_modules/phantom-bridge/node_modules/phantomjs
> node install.js

<snip>

但是当我做docker-compose了,我看到这个错误:

worker_1 | Error: Cannot find module 'async'
worker_1 |     at Function.Module._resolveFilename (module.js:336:15)
worker_1 |     at Function.Module._load (module.js:278:25)
worker_1 |     at Module.require (module.js:365:17)
worker_1 |     at require (module.js:384:17)
worker_1 |     at Object.<anonymous> (/worker/index.js:1:75)
worker_1 |     at Module._compile (module.js:460:26)
worker_1 |     at Object.Module._extensions..js (module.js:478:10)
worker_1 |     at Module.load (module.js:355:32)
worker_1 |     at Function.Module._load (module.js:310:12)
worker_1 |     at Function.Module.runMain (module.js:501:10)

结果没有一个模块存在于/ worker / node_modules(在主机或容器中)。

如果在主机上,我npm安装,那么一切工作就好了。但我不想这样做。我想让容器处理依赖。

这里有什么问题?

(不用说,所有包都在package.json中。)

解决方法

发生这种情况是因为您已将您的工作目录作为卷添加到docker-compose.yml中,因为卷在构建期间未挂载。

当Docker构建映像时,将在工作程序目录中创建node_modules目录,并在那里安装所有依赖项。然后在运行时,来自docker外部的工作目录被装载到docker实例(它没有安装的node_modules),隐藏刚刚安装的node_modules。您可以通过从docker-compose.yml中删除已安装的卷来验证这一点。

解决方法是使用数据卷来存储所有node_modules,因为在挂载工作程序目录之前,从已构建的docker镜像的数据中复制数据卷。这可以在docker-compose.yml中这样做:

redis:
    image: redis
worker:
    build: ./worker
    command: npm start
    ports:
        - "9730:9730"
    volumes:
        - worker/:/worker/
        - /worker/node_modules
    links:
        - redis

我不完全确定这是否对图像的可移植性施加任何问题,但因为它似乎你主要使用docker提供一个运行时环境,这不应该是一个问题。

如果你想阅读更多关于卷,有一个很好的用户指南在这里:https://docs.docker.com/userguide/dockervolumes/

node.js – NPM模块是否在/ node_modules文件夹中但找不到?

node.js – NPM模块是否在/ node_modules文件夹中但找不到?

我有一个问题是在我设置的Ubuntu开发服务器上正确安装md5节点模块.

(它在我的本地Windows机器上工作正常,我可以在开发服务器上用npm安装其他模块)

当我尝试启动一个NodeJS应用程序时,我正在处理它失败,说明没有安装md5模块.

// trying to start my application that depends on md5.
    drichardson@devwebserver:/var/www/node_app/meanapp$node server.js
    module.js:340
        throw err;
        ^
    Error: Cannot find module 'md5'
        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> (/var/www/node_app/node_modules/hashfile/index.js:7: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 Module.require (module.js:364:17)
        at require (module.js:380:17)
        at Object.<anonymous> (/var/www/node_app/meanapp/app/controllers/exchanges.server.controller.js:15:14)
        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)

我已经尝试在我的工作目录中安装它:

// Installing in working directory
    drichardson@devwebserver:/var/www/node_app/meanapp$sudo npm install --save md5
    npm http GET https://registry.npmjs.org/md5
    npm http GET https://registry.npmjs.org/md5
    npm http 304 https://registry.npmjs.org/md5
    npm http GET https://registry.npmjs.org/is-buffer
    npm http GET https://registry.npmjs.org/crypt
    npm http GET https://registry.npmjs.org/charenc
    npm http 304 https://registry.npmjs.org/crypt
    npm http GET https://registry.npmjs.org/is-buffer
    npm http GET https://registry.npmjs.org/charenc
    npm http 200 https://registry.npmjs.org/is-buffer
    npm http GET https://registry.npmjs.org/is-buffer/-/is-buffer-1.0.2.tgz
    npm http GET https://registry.npmjs.org/is-buffer/-/is-buffer-1.0.2.tgz
    npm http GET https://registry.npmjs.org/charenc
    npm http GET https://registry.npmjs.org/charenc/-/charenc-0.0.1.tgz
    npm http 200 https://registry.npmjs.org/charenc/-/charenc-0.0.1.tgz
    npm http GET https://registry.npmjs.org/is-buffer/-/is-buffer-1.0.2.tgz
    npm http 200 https://registry.npmjs.org/is-buffer/-/is-buffer-1.0.2.tgz
    md5@2.0.0 node_modules/md5
    ├── charenc@0.0.1
    ├── crypt@0.0.1
    └── is-buffer@1.0.2

即使节点模块显示在我的/ node_modules文件夹中,它仍然会抛出“找不到模块md5”

// MD5 In my node_modules folder:
    drichardson@devwebserver:/var/www/node_app/meanapp/node_modules$ls -la | grep 'md5'
    drwxr-xr-x  2 drichardson drichardson 4096 Oct 30 13:53 md5

我也尝试过:

– 使用“npm install -g md5”全局安装模块
– 清理缓存并重新安装“npm cache clean”
– 使用“npm install”重新安装应用程序

还有什么我可以尝试这样,以便npm识别md5被安装?

谢谢,

解决方法

我有一个类似的问题,问题不在于模块的安装位置,而是因为package.json文件中的主要属性未正确设置.在我的情况下,它引用了一个不存在的文件.确保为模块正确设置“main”:“…”.

如果这是您无法控制的模块,作为快速修复,您可以在最近的node_modules目录中进行更改.在我们的例子中,这位于项目的根目录中.

今天关于如何删除 node_modules - Windows 中的深层嵌套文件夹快速删除node modules的分享就到这里,希望大家有所收获,若想了解更多关于Git - 忽略 node_modules 文件夹无处不在、node.js – ack | grep | whatnot特殊忽略文件夹模式node_modules / dir / node_modules、node.js – npm install成功后,卷中不存在node_modules:node_modules、node.js – NPM模块是否在/ node_modules文件夹中但找不到?等相关知识,可以在本站进行查询。

本文标签: