在 MacOS/Linux 和 Windows 的 node_modules 文件夹的访问权限

Access rights for node_modules folder at MacOS/Linux and Windows

我正在 mac machine 上开发一些 nodeJS 应用程序。出于测试目的,我正在使用 Parallels 获取虚拟 windows machine (win 10).

如果我运行宁 npm install 用于我的 mac 上的项目,我不能 运行 windows 上的项目 machine,因为我收到 node_modules 文件夹的 access denied 错误。

所以我在 windows mac 上删除了 运行 npm install 文件夹。这样我就可以 运行 应用程序了。但是然后在我的 mac machine 上我确实得到了例如sh: /Users/project/node_modules/.bin/nodemon: Permission denied.

如何设置对 node_modules 目录的正确访问权限,以便在 OS 上获取应用程序 运行ning?

这是因为在 macOS 中编译的二进制文件 (.bin) 不一定也适用于 windows。 对于您的场景,请使用 YARN。因为 YARN 提供离线安装。

参考link:https://yarnpkg.com/blog/2016/11/24/offline-mirror/

在您的任一系统中安装 YARN。

  1. npm install yarn
  2. 在 cmd 或终端中的项目文件夹中,只需键入 yarn
    -Yarn 将开始解析您的包。
  3. 完成后,通过执行以下命令创建一个 .yarnrc 文件(windows 和 macOS 都相同)。

    yarn config set yarn-offline-mirror ./npm-packages-offline-cache

    yarn config set yarn-offline-mirror-pruning true

  4. 将在您的主目录 (macOS => ~/.yarnrc || windows => C:\{user}\.yarnrc) 中创建一个 .yarnrc 文件。

  5. 将该文件移动到您的项目中,使其仅针对您的项目。

  6. 现在在 node_modules 文件夹和 yarn.lock 文件中执行 yarn install -> 结果。另请注意,在文件夹 npm-packages-offline-cache 下的主目录中,您将拥有压缩包格式的所有依赖项。

  7. 你所要做的就是将这个 tarball 目录和 yarn.lock 提交到两个环境共有的存储库,在其他环境中设置 yarn通过重复相同的 1-5 个步骤来创建环境。

  8. 最后 运行 yarn install -offline,您将加载依赖项。

长话短说!您不能只复制粘贴 node_modules 并让它在 windows 和 unix 之间工作。

希望对你有帮助..