Node.js 始终从package.json本地安装npm
虽然我在docker容器中运行此设置,但我的项目文件位于Node.js 始终从package.json本地安装npm,node.js,docker,npm,Node.js,Docker,Npm,虽然我在docker容器中运行此设置,但我的项目文件位于/app中,并且/app/package.json存在 当我执行cd/app&&npm安装--production(作为root用户或非root用户)时,所有依赖项都安装在~/.npm文件夹中,而不是显示在/app/node\u模块中 我还尝试过执行npm安装--production--verbose--prefix/app,但是文件夹node\u modules仍然没有与app文件夹中的依赖项一起出现 当我查看错误日志时,几乎每个依赖项都
/app
中,并且/app/package.json
存在
当我执行cd/app&&npm安装--production
(作为root用户或非root用户)时,所有依赖项都安装在~/.npm
文件夹中,而不是显示在/app/node\u模块中
我还尝试过执行npm安装--production--verbose--prefix/app
,但是文件夹node\u modules
仍然没有与app文件夹中的依赖项一起出现
当我查看错误日志时,几乎每个依赖项都会看到这样的消息(例如:installing react)
如果我想以root用户身份运行,如何让npm始终将package.json
中列出的所有依赖项安装在app目录的node\u modules
文件夹中
使用npm@2.14.7, node@v4.2.3Do
npm安装
。它应该安装在node_模块中您可能想看看这个:遗憾的是,这种方法不起作用。如果我在docker脚本中运行npm install react
,我会看到一个node\u modules文件夹,但运行npm install
时,package.json react列出的位置不会创建node\u modules文件夹。在Amazon Linux上运行node时,我遇到了同样的奇怪问题。你找到答案了吗?我也试过。还是没有。作为澄清,我添加了--production
,因为package.json中也有devdependency。但是,即使有一个干净的package.json,只有一个依赖项,我仍然无法将它安装到节点中。我认为出现这种情况的原因是,您一直在尝试以root用户身份安装。您应该检查如何在没有sudo的情况下安装软件包。这有点令人沮丧。我试着把它当作非根,同样的事情也发生了。我只是无法让它在同一个目录中安装任何东西尝试将它添加到.basrc文件PATH=“$PATH:$HOME/.npm packages/bin”
npm verb tar unpack /root/.npm/base62/0.1.1/package.tgz
npm verb tar unpacking to /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62
npm verb gentlyRm don't care about contents; nuking /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62
npm verb gentlyRm don't care about contents; nuking /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb
npm verb tar unpack /root/.npm/source-map/0.1.31/package.tgz
npm verb tar unpacking to /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map
npm verb gentlyRm don't care about contents; nuking /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map
npm verb tar unpack /root/.npm/esprima-fb/13001.1001.0-dev-harmony-fb/package.tgz
npm verb tar unpacking to /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb
npm verb gentlyRm don't care about contents; nuking /app/node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb