在节点模块名称中使用@符号[重复]
我正在看一位同事写的一些代码,她@
在require语句中使用该符号。这是这些文件之一的第一行:
var restServer = require('@company/config')
当我尝试运行此代码时,出现错误:
Error: Cannot find module '@company/config'
坦率地说,我的目录中没有需要识别的东西!我似乎讨厌这里发生的一些魔术。
我只能猜测的是,这是我还没有接触过的一些晦涩的npm或Node技巧,或者也许是我没有得到其他一些黑暗的配置技巧。任何信息都值得赞赏,即使这只是对@
require的工作方式的解释。
其他想法:Chef参与了整个事情的某个地方,因此可能是有意义的。
:99%的人确定这是目前工作方式的问题npm config
,但仍不确定如何解决。
:
Dereks-MacBook-Pro:project-dir derekjanni$ npm config set //registry.npmjs.org/:authtoken $SECRET_TOKENDereks-MacBook-Pro:project-dir derekjanni$ npm install
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/Cellar/node/5.5.0/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v5.5.0
npm ERR! npm v3.5.3
npm ERR! code E404
npm ERR! 404 Not found : @company/config
npm ERR! 404 '@company/config' is not in the npm registry.
回答:
所以我自己解决了这个问题。
事实证明@company/config
,这是我们的私有NPM存储库之一,托管在npm上,并由此别名定义为内部GitHub存储库:与require
工作方式无关。
@
对于私有NPM存储库,我可能不知道使用或可能不使用该协议,如果遇到此问题,请记住这一点。
以上是 在节点模块名称中使用@符号[重复] 的全部内容, 来源链接: utcz.com/qa/405075.html