【问题标题】:How do I get all node modules into the same directory?如何将所有节点模块放入同一个目录?
【发布时间】:2021-01-11 16:37:14
【问题描述】:

我使用的是 Mac OS。我的大部分全球 npm 模块都位于/usr/local/lib/node_modules/。我安装了nvm,现在新的全局模块被放置在/.nvm/versions/node/v15.5.1/lib

我想知道的:

  1. 将它们放置在/.nvm/versions/node/v15.5.1/lib 中是否有任何问题,或者这是您安装nvm 后所期望的?

  2. 假设我将node 升级到版本15.5.2。任何新的全局模块会转到/.nvm/versions/node/v15.5.2/lib 吗?如果是这样,随着时间的推移,我添加的全局模块最终位于不同的目录中是否会成为问题?

  3. 我想从/usr/local/lib/node_modules/ 中删除所有模块,然后在新的nvm 目录中重新安装,以将所有内容放在一起。我应该如何处理?

【问题讨论】:

    标签: node.js macos npm node-modules nvm


    【解决方案1】:
    1. 不,这是预期的。
    2. 例如,nvm install 15 --reinstall-packages-from=14 适合您。
    3. ls /usr/local/lib/node_modules | xargs npm i -g 将在新位置重新安装所有旧模块。 sudo rm -rf /usr/local/lib/node_modules 将删除旧的。例如,您也可以运行nvm install node --reinstall-packages-from=node(请参阅this section in the docs)。

    全局模块通常有时被认为是一种反模式,这也是发明 npx 的部分原因——因此您不必处理全局模块变得陈旧以及 NVM 和其他版本管理器的版本问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 2015-03-11
      • 2019-03-26
      • 2016-05-18
      • 1970-01-01
      • 2020-03-15
      相关资源
      最近更新 更多