在虚拟机共享目录中安装 npm 模块和 grunt 问题

2023-11-25

我正在尝试构建一个开发环境,但 npm 给我带来了问题。这是我的场景:

我有一台运行 Windows 和 VMWare Player 的开发计算机。我有一个 Ubuntu Server VM(无 UI),配置了 Apache、PHP、NodeJS 等。由于 VM 没有 UI,我想使用主机操作系统进行开发。我设置了一个共享目录,在虚拟机中可以通过 /mnt/hgfs/source/ 访问该目录。

当我尝试运行时出现问题npm install在此目录中。我看到很多错误,比如Error: UNKNOWN, symlink '../requirejs/bin/r.js'。我知道我的 package.json 文件没问题,因为如果我将所有文件从共享复制到常规 unix 目录 (/var/www/)npm install工作正常。所以 npm 在共享目录中安装模块时出现问题。

我以为我可以通过全局安装节点包来解决这个问题,但是,无论出于何种原因,GruntJS 爱好者不喜欢那样并且它必须存在于本地。然后我尝试创建一个从全局到本地的 npm 链接,但这只会导致一个新错误:Error: May not delete: /usr/lib/node_modules/grunt。我对 /usr/lib/node_modules 目录和所有子目录拥有完全权限。

我真的不想在虚拟机中使用命令行文本编辑器编写整个项目,但看起来我无法通过 VMWare 将我的代码库放在主机和来宾操作系统都可用的目录中。

我非常感谢任何关于如何 1) 允许 npm 模块安装在我的共享目录中,2) 全局运行 Grunt,或 3) 解决我看到的 npm 链接错误的建议。

EDIT:发布这篇文章后不久,我意识到这里的根本问题 - 当主机操作系统是 Windows 时,不可能在 VM 共享目录中创建符号链接。由于 npm install 默认使用符号链接,因此它不起作用,这就是为什么接受的解决方案确实有效。


请尝试以下操作:

npm install --no-bin-links

Grunt 应该是本地的,因为插件和gruntfile.js可能需要特定版本的 Grunt 才能运行您的任务。如果其他开发人员想要运行您的任务,他们只需发出npm install他们已经设置好了。 (看this了解更多信息。)grunt-cli是全局的,用于运行本地版本grunt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在虚拟机共享目录中安装 npm 模块和 grunt 问题 的相关文章

  • 无法在渲染器进程中使用 Node.js API

    无法在 Electron 中使用任何与 Electron 或节点相关的操作 未定义获取错误过程 我检查了他们指导添加节点支持的各个地方 但这已经完成了 所以卡在这里 我的主要应用程序代码是 const electron require el
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • 尝试在节点 0.12 上重新安装 `node-sass`?

    我想使用谷歌网络入门套件 我安装了node js v0 12 0 node sass gulp 然后跑 sudo npm install 当我打字时gulp serve然后得到这个错误 Using gulpfile web starter
  • 如何在节点js中将消息发送到azure服务总线队列时指定内容类型为application/json?

    我正在使用发送消息到队列 azure service bus包装和sendMessages中提到的功能here https learn microsoft com en us azure service bus messaging serv
  • django npm 和 Node 包架构

    在我加入的项目中 这是以下架构node packages Django project app1 app2 node modules foundation sites grunt static css images js urls py s
  • 在 NodeJS 中将子进程的输出保存在父进程的变量中

    我想在 NodeJS 中启动一个子进程并将其输出保存到一个变量中 以下代码将其提供给标准输出 require child process execSync echo Hello World stdio inherit 我的想法与此代码类似
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 使用node.js安装xml2json时出错

    我尝试为 node js 安装 xml2json 包 但它给了我错误 Error are as below 我的系统配置如下 Node js 版本 v5 4 1 npm 版本 3 3 12 操作系统 Windows 10 64 位 pyth
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 摆脱node-jsx

    在我的 NodeJS 应用程序的路由器中 我想渲染一个 React 应用程序 由于它没有被浏览器化 并且已反应 因此它返回unexpected token lt 构建时出错 我发现如果我require node jsx install 它不
  • Mongoose - 查询从多个集合中获取数据

    我想要获取猫鼬的查询在 Node js 应用程序中 如下所述输出 user js comment js 和 post js 是我使用的模型文件 user js var mongoose require mongoose var Schema
  • React Jest 示例不起作用

    尝试运行 Jest 测试 React 代码的示例 来自https github com facebook jest tree master examples react https github com facebook jest tree
  • 使 for 循环中的函数调用同步

    我在请求中得到了一个字符串数组 每个字符串都包含要在本机 shell 上执行的命令 var process require child process function execCommand req res callback var pa
  • express.js api 应用程序中的内存泄漏

    我正在运行一个express js应用程序 它用作REST API 一个端点启动 puppeteer 并使用多个过程测试我的网站 启动应用程序并持续消耗端点后 我的 docker 容器每小时都会耗尽内存 如下所示 首先 我认为我的 pupp
  • Node.js 按域计算带宽使用情况

    如何使用node js作为Web服务器来监控每个域的带宽使用情况 有谁知道我没有遇到过执行此操作的 API 调用吗 或者其他人在按带宽收费的多租户环境中使用的模块或其他方法 Update 有谁知道可以放在任何 Web 服务器 node js
  • Javascript:如果没有在任何地方导入,package.json 依赖项是否包含在构建中?

    在项目中 package json 文件中列出了一些依赖包 npm install some name save 但未在源代码中的任何 ES6 模块文件中导入 该包是否会包含在最终版本中 例如汇总输出 据我了解 未导入的 es6 模块甚至不
  • 如何更新 Node.js?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我执行了以下操作来更新我的 npm npm update npm g 但我不知道如何更新
  • 获取 Node.js npm 命令以在公司代理后面工作

    我正在尝试安装凉亭 npm install g 鲍尔 但我从我们的代理收到身份验证错误 npm http 407http registry npmjs org bower http registry npmjs org bower 错误代码
  • Nodejs MaxListenersExceeded警告

    我有一个错误 我不知道如何解决它 这种情况只发生几次 错误信息 node 9140 MaxListenersExceededWarning Possible EventEmitter memory leak detec ted 11 err
  • 在数据库准备好之前运行 Jest 测试

    我正在使用 Jest 来测试我的带有 SQLite 数据库的 Express API 但是出现了以下问题 测试在数据库准备好并创建表之前运行 我使用以下代码连接到数据库 const connectToDatabase gt let db i

随机推荐