首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 6-无法导入node_modules包

Rails 6-无法导入node_modules包
EN

Stack Overflow用户
提问于 2020-07-23 15:21:44
回答 1查看 394关注 0票数 0

我试图在我的react rails项目中使用npm包,但似乎无法成功地导入它。我首先运行了以下命令:

代码语言:javascript
复制
yarn add @mapbox/mapbox-gl-draw

然后,我尝试了以下两种导入样式:

代码语言:javascript
复制
import * as MapboxDraw from '@mapbox/mapbox-gl-draw';
const MapboxDraw = require('@mapbox/mapbox/gl-draw');

然而,这两者都产生了完全相同的错误:

代码语言:javascript
复制
 Module not found: Error: Can't resolve '@mapbox/mapbox-gl-draw' in '/opt/app/myrailsapp/app/javascript/src/scenes/myscene.jsx'

我如何正确地使用一个标准的npm包在一个反应-rails项目中?我还尝试将上述语句移到我的application.js包中,但没有结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-23 19:30:47

问题的最终原因是使用容器,并且只在我的一个容器上本地运行yarn install。我有下面的docker-compose.yaml

代码语言:javascript
复制
services:
  myapp:
    # ...
    build:
      context: myapp/.
      dockerfile: Dockerfile.development

  webpacker:
    # ...
    build:
      context: myapp/.
      dockerfile: Dockerfile.development

当我尝试安装软件包时,我只运行了

代码语言:javascript
复制
docker-compose exec myapp yarn install @mapbox/mapbox-gl-draw

虽然安装得很好,但是该容器只安装了。我还需要在webpacker容器上运行它。实际上,当webpacker容器不包含软件包时,该软件包似乎安装得很正确。

由于安装节点模块是我的Dockerfile的一部分,所以修复程序是运行docker-compose build

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63057670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档