我从我的节点应用中收到此错误:
ENOENT, no such file or directory '~/Desktop/MyApp/newversion/partials/navigation.jade'
我知道该文件存在,因为当我尝试使用完全复制和粘贴的路径打开文件时,它可以正常工作。 我也知道应用程序正在使用正确的目录,因为它在错误中输出它。
答案 0 :(得分:20)
答案 1 :(得分:13)
Tilde扩展是一件外壳。写下正确的路径名(可能是/home/
您的用户名/Desktop/etcetcetc
)或使用
process.env.HOME + '/Desktop/blahblahblah'
答案 2 :(得分:3)
我也为这个错误所困扰,在尝试了所有其他答案之后,神奇地找到了以下解决方案:
删除package-lock.json和node_modules文件夹,然后再次运行npm install
。
如果这不起作用,请尝试按顺序运行它们:
npm install
npm cache clean
npm install -g npm
npm install
(分别来自@Thisuri的回答和@Mathias Falci的评论)
,然后重新删除上述文件并重新运行npm install
。
为我工作!
答案 3 :(得分:2)
我有这个问题:使用路径模块
const path = require('path');
并且不要忘记在第一期创建上传目录。
答案 4 :(得分:1)
npm install
,如果问题尚未解决,请依次尝试以下问题。npm cache clean
,然后npm install -g npm
,然后
npm install
,最后ng serve --o
来运行项目。
希望这会有所帮助。...答案 5 :(得分:1)
__dirname
为您提供当前节点应用程序的rooth目录。
您要使用的情况
__dirname + '/Desktop/MyApp/newversion/partials/navigation.jade';
查看此答案:
答案 6 :(得分:1)
对我来说,我的代码文件夹位于Windows 10上的Dropbox中。在构建过程中,Dropbox将翻转超过500,000个文件。我将文件夹移出,现在可以正常使用了!
答案 7 :(得分:0)
对于使用npm run watch
运行Laravel Mix的用户,只需终止脚本并再次运行命令即可。
答案 8 :(得分:0)
另一种可能性是,如果您提取任何不公开的软件包,您将丢失.npmrc
文件。
您将需要在根目录中添加.npmrc
文件,并在.npmrc
文件内部添加私有/内部注册表,如下所示:
registry=http://private.package.source/secret/npm-packages/
答案 9 :(得分:0)
具体来说,rm yarn.lock
然后yarn install
为我解决了这个问题。