这是我package.json在父项目中包含的模块:
{
"version": "0.0.1",
"name": "module-name",
"dependencies": {
"express": "3.3.4",
"grunt": "0.4.1",
"grunt-contrib-compass": "0.4.0",
"grunt-contrib-copy": "0.4.1",
"grunt-contrib-cssmin": "0.4.1",
"grunt-contrib-jshint": "0.6.3",
"grunt-contrib-requirejs": "0.4.1",
"grunt-contrib-uglify": "0.2.2",
"grunt-contrib-watch": "0.5.1",
"grunt-express-server": "0.4.1",
"grunt-karma": "0.4.5",
"grunt-regex-replace": "0.2.5",
"request": "2.25.0"
},
"scripts": {
"postinstall": "grunt install"
}
}
Run Code Online (Sandbox Code Playgroud)
需要注意的一点是,此模块包含在私有仓库中,我将其包含在父级中,package.json如:"module-name": "git+ssh://git@myserver:user/module-name.git"
all*_*rog 142
看起来你遇到了一个已经存在了很长一段时间但仍然没有解决方案的bug.在npm存储库中有几个针对此案例的未解决问题:
在第一个人列出了您可能尝试的几种解决方法.
另一种解决方案可能是(有点hackish)明确地将依赖关系列为第一级依赖关系.这需要您维护列表,但实际上它必须很少进行.
Moh*_*sen 109
我有类似的问题,删除整个node_modules文件夹,重新安装为我工作.从IT Crowd节目中学到了这个技巧!
rm -rf node_modules
npm install
Run Code Online (Sandbox Code Playgroud)
Vir*_*t18 28
我正在使用Windows机器.
Ric*_*ins 15
如果你继承了这段代码,可能是依赖项和版本被锁定了,你有一个./npm-shrinkwrap.json文件.
如果您的依赖项未在该文件中列出,则永远不会使用该npm install命令安装它.
您需要手动安装软件包,然后运行npm shrinkwrap以更新shrinkwrap文件.
Cai*_*ius 12
还要检查您的包名称是否被正确接受:
错误的:
{
"name": "My Awesome Package"
}
Run Code Online (Sandbox Code Playgroud)
{
"name": "my-awesome-package-name"
}
Run Code Online (Sandbox Code Playgroud)
kct*_*ang 10
我怀疑你遇到的问题是你的package.json文件与你的文件不在同一个目录中Gruntfile.js.当您运行grunt xxx命令时,会收到如下错误消息:
Local Npm module "xxx" not found. Is it installed?
Run Code Online (Sandbox Code Playgroud)
目前,解决方案是:
npm install以在本地加载它们恕我直言,很遗憾我们不能拥有从父npm模块加载的grunt解析模块(即同一项目中父目录中的package.json).这里的讨论似乎表明它是为避免加载"全局"模块而完成的,但我认为我们想要的是从"我的项目"模块加载.
OP可能适用于较旧版本的节点.但是,我也遇到了与节点4.4.1相同的问题.
它很可能链接到您正在使用的节点版本.尝试升级到最新版本.如果某些依赖项与节点版本不兼容,则不会传递加载.
我跑步找到了这个npm update.
升级到最新版本(4.4 - > 5.9)后; 这是固定的.
值得一提的是,确保您的依赖项应该属于dependencies您的部分package.json(而不是devDependencies)。
我的问题与OP基本相同:
\n\nrepo1)中安装私人仓库"module-name": "git+ssh://git@myserver:user/my-repo-name.git"(让我们称之为repo2),repo2\'s中node_modules,repo1不存在一个包依赖项。repo1列出了该依赖项devDependencies而不是dependenciesrepo1将我的\ 中的依赖项package.json从devDependencies 移至dependenciesrepo2,我删除了我的node_modulesand package-lock.json, did npm install,一个 voil\xc3\xa0!... 依赖关系就在那里!| 归档时间: |
|
| 查看次数: |
168282 次 |
| 最近记录: |